@spider-analyzer/timeline 4.0.3 → 5.0.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/CHANGELOG.md +70 -1
- package/README.md +275 -637
- package/dist/index.d.mts +132 -0
- package/dist/index.d.ts +132 -0
- package/dist/index.js +2913 -22
- package/dist/index.js.map +1 -0
- package/dist/index.mjs +2906 -0
- package/dist/index.mjs.map +1 -0
- package/dist/timeline-EX2XZ6IP.css +139 -0
- package/package.json +48 -15
- package/src/Cursor.jsx +5 -13
- package/src/TimeLine.tsx +994 -0
- package/src/TimeLineResizer.jsx +2 -8
- package/src/ToolTip.jsx +7 -7
- package/src/cursorElements/CursorIcon.jsx +6 -29
- package/src/cursorElements/CursorSelection.jsx +4 -19
- package/src/cursorElements/DragOverlay.jsx +2 -12
- package/src/cursorElements/LeftHandle.jsx +3 -19
- package/src/cursorElements/LeftToolTip.jsx +2 -7
- package/src/cursorElements/RightHandle.jsx +3 -19
- package/src/cursorElements/RightToolTip.jsx +4 -13
- package/src/cursorElements/ZoomIn.jsx +5 -25
- package/src/cursorElements/ZoomOut.jsx +4 -21
- package/src/cursorElements/utils.js +1 -1
- package/src/index.js +6 -0
- package/src/index.ts +158 -0
- package/src/moment-shim.ts +169 -0
- package/src/styles.ts +15 -0
- package/src/time.ts +52 -0
- package/src/timeLineElements/Button.jsx +5 -30
- package/src/timeLineElements/HistoToolTip.jsx +3 -17
- package/src/timeLineElements/Histogram.jsx +4 -16
- package/src/timeLineElements/Legend.jsx +2 -16
- package/src/timeLineElements/QualityLine.jsx +4 -11
- package/src/timeLineElements/Tools.jsx +1 -1
- package/src/timeLineElements/XAxis.jsx +5 -8
- package/src/timeLineElements/XGrid.jsx +3 -7
- package/src/timeLineElements/YAxis.jsx +4 -7
- package/src/timeLineElements/YGrid.jsx +2 -6
- package/src/timeLineElements/axesStyles.jsx +0 -49
- package/src/timeline.css +139 -0
- package/src/utils.ts +60 -0
- package/.babelrc +0 -8
- package/.gitlab-ci.yml +0 -27
- package/Makefile +0 -20
- package/dist/Cursor.js +0 -290
- package/dist/TimeLine.js +0 -1177
- package/dist/TimeLineResizer.js +0 -70
- package/dist/ToolTip.js +0 -43
- package/dist/cursorElements/CursorIcon.js +0 -98
- package/dist/cursorElements/CursorSelection.js +0 -179
- package/dist/cursorElements/DragOverlay.js +0 -168
- package/dist/cursorElements/LeftHandle.js +0 -95
- package/dist/cursorElements/LeftToolTip.js +0 -70
- package/dist/cursorElements/RightHandle.js +0 -95
- package/dist/cursorElements/RightToolTip.js +0 -75
- package/dist/cursorElements/ZoomIn.js +0 -93
- package/dist/cursorElements/ZoomOut.js +0 -67
- package/dist/cursorElements/commonStyles.js +0 -28
- package/dist/cursorElements/handleHistoHovering.js +0 -79
- package/dist/cursorElements/utils.js +0 -30
- package/dist/theme.js +0 -59
- package/dist/timeLineElements/Button.js +0 -101
- package/dist/timeLineElements/HistoToolTip.js +0 -78
- package/dist/timeLineElements/Histogram.js +0 -110
- package/dist/timeLineElements/Legend.js +0 -70
- package/dist/timeLineElements/QualityLine.js +0 -81
- package/dist/timeLineElements/Tools.js +0 -115
- package/dist/timeLineElements/XAxis.js +0 -76
- package/dist/timeLineElements/XGrid.js +0 -47
- package/dist/timeLineElements/YAxis.js +0 -60
- package/dist/timeLineElements/YGrid.js +0 -46
- package/dist/timeLineElements/axesStyles.js +0 -57
- package/src/TimeLine.jsx +0 -1163
- package/src/cursorElements/commonStyles.js +0 -21
- /package/dist/{tipDark.css → tipDark-BQEJ43KY.css} +0 -0
|
@@ -1,101 +0,0 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
|
|
3
|
-
function _typeof(obj) { "@babel/helpers - typeof"; if (typeof Symbol === "function" && typeof Symbol.iterator === "symbol") { _typeof = function _typeof(obj) { return typeof obj; }; } else { _typeof = function _typeof(obj) { return obj && typeof Symbol === "function" && obj.constructor === Symbol && obj !== Symbol.prototype ? "symbol" : typeof obj; }; } return _typeof(obj); }
|
|
4
|
-
Object.defineProperty(exports, "__esModule", {
|
|
5
|
-
value: true
|
|
6
|
-
});
|
|
7
|
-
exports["default"] = Button;
|
|
8
|
-
var _react = _interopRequireWildcard(require("react"));
|
|
9
|
-
var _propTypes = _interopRequireDefault(require("prop-types"));
|
|
10
|
-
var _styles = require("@material-ui/styles");
|
|
11
|
-
var _ToolTip = _interopRequireDefault(require("../ToolTip"));
|
|
12
|
-
var _clsx = _interopRequireDefault(require("clsx"));
|
|
13
|
-
var _theme = _interopRequireDefault(require("../theme"));
|
|
14
|
-
function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { "default": obj }; }
|
|
15
|
-
function _getRequireWildcardCache(nodeInterop) { if (typeof WeakMap !== "function") return null; var cacheBabelInterop = new WeakMap(); var cacheNodeInterop = new WeakMap(); return (_getRequireWildcardCache = function _getRequireWildcardCache(nodeInterop) { return nodeInterop ? cacheNodeInterop : cacheBabelInterop; })(nodeInterop); }
|
|
16
|
-
function _interopRequireWildcard(obj, nodeInterop) { if (!nodeInterop && obj && obj.__esModule) { return obj; } if (obj === null || _typeof(obj) !== "object" && typeof obj !== "function") { return { "default": obj }; } var cache = _getRequireWildcardCache(nodeInterop); if (cache && cache.has(obj)) { return cache.get(obj); } var newObj = {}; var hasPropertyDescriptor = Object.defineProperty && Object.getOwnPropertyDescriptor; for (var key in obj) { if (key !== "default" && Object.prototype.hasOwnProperty.call(obj, key)) { var desc = hasPropertyDescriptor ? Object.getOwnPropertyDescriptor(obj, key) : null; if (desc && (desc.get || desc.set)) { Object.defineProperty(newObj, key, desc); } else { newObj[key] = obj[key]; } } } newObj["default"] = obj; if (cache) { cache.set(obj, newObj); } return newObj; }
|
|
17
|
-
function _slicedToArray(arr, i) { return _arrayWithHoles(arr) || _iterableToArrayLimit(arr, i) || _unsupportedIterableToArray(arr, i) || _nonIterableRest(); }
|
|
18
|
-
function _nonIterableRest() { throw new TypeError("Invalid attempt to destructure non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method."); }
|
|
19
|
-
function _unsupportedIterableToArray(o, minLen) { if (!o) return; if (typeof o === "string") return _arrayLikeToArray(o, minLen); var n = Object.prototype.toString.call(o).slice(8, -1); if (n === "Object" && o.constructor) n = o.constructor.name; if (n === "Map" || n === "Set") return Array.from(o); if (n === "Arguments" || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)) return _arrayLikeToArray(o, minLen); }
|
|
20
|
-
function _arrayLikeToArray(arr, len) { if (len == null || len > arr.length) len = arr.length; for (var i = 0, arr2 = new Array(len); i < len; i++) { arr2[i] = arr[i]; } return arr2; }
|
|
21
|
-
function _iterableToArrayLimit(arr, i) { var _i = arr == null ? null : typeof Symbol !== "undefined" && arr[Symbol.iterator] || arr["@@iterator"]; if (_i == null) return; var _arr = []; var _n = true; var _d = false; var _s, _e; try { for (_i = _i.call(arr); !(_n = (_s = _i.next()).done); _n = true) { _arr.push(_s.value); if (i && _arr.length === i) break; } } catch (err) { _d = true; _e = err; } finally { try { if (!_n && _i["return"] != null) _i["return"](); } finally { if (_d) throw _e; } } return _arr; }
|
|
22
|
-
function _arrayWithHoles(arr) { if (Array.isArray(arr)) return arr; }
|
|
23
|
-
var useStyles = (0, _styles.makeStyles)({
|
|
24
|
-
buttonGroup: {
|
|
25
|
-
cursor: 'pointer'
|
|
26
|
-
},
|
|
27
|
-
buttonGroupInactive: {
|
|
28
|
-
cursor: 'not-allowed'
|
|
29
|
-
},
|
|
30
|
-
buttonOverShape: {
|
|
31
|
-
fill: 'transparent'
|
|
32
|
-
},
|
|
33
|
-
buttonIcon: {
|
|
34
|
-
fill: _theme["default"].colors.medium,
|
|
35
|
-
fillOpacity: 1,
|
|
36
|
-
stroke: _theme["default"].colors.medium,
|
|
37
|
-
strokeWidth: 1,
|
|
38
|
-
strokeOpacity: 1
|
|
39
|
-
},
|
|
40
|
-
buttonIconOver: {
|
|
41
|
-
fill: _theme["default"].colors.buttonOver,
|
|
42
|
-
stroke: _theme["default"].colors.buttonOver
|
|
43
|
-
}
|
|
44
|
-
});
|
|
45
|
-
function Button(_ref) {
|
|
46
|
-
var tipPlacement = _ref.tipPlacement,
|
|
47
|
-
tipOverlay = _ref.tipOverlay,
|
|
48
|
-
path = _ref.path,
|
|
49
|
-
origin = _ref.origin,
|
|
50
|
-
scale = _ref.scale,
|
|
51
|
-
iconSize = _ref.iconSize,
|
|
52
|
-
_onClick = _ref.onClick,
|
|
53
|
-
classes = _ref.classes,
|
|
54
|
-
rcToolTipPrefixCls = _ref.rcToolTipPrefixCls,
|
|
55
|
-
isActive = _ref.isActive;
|
|
56
|
-
var _useState = (0, _react.useState)(false),
|
|
57
|
-
_useState2 = _slicedToArray(_useState, 2),
|
|
58
|
-
isOver = _useState2[0],
|
|
59
|
-
setOver = _useState2[1];
|
|
60
|
-
var defaultClasses = useStyles();
|
|
61
|
-
return /*#__PURE__*/_react["default"].createElement(_ToolTip["default"], {
|
|
62
|
-
placement: tipPlacement,
|
|
63
|
-
overlay: tipOverlay
|
|
64
|
-
}, /*#__PURE__*/_react["default"].createElement("g", {
|
|
65
|
-
className: (0, _clsx["default"])(defaultClasses.buttonGroup, classes.buttonGroup, !isActive && defaultClasses.buttonGroupInactive, !isActive && classes.buttonGroupInactive),
|
|
66
|
-
transform: "translate(".concat(origin.x, ",").concat(origin.y, ") scale(").concat(scale, ")"),
|
|
67
|
-
onMouseOver: function onMouseOver(event) {
|
|
68
|
-
isActive && setOver(true);
|
|
69
|
-
},
|
|
70
|
-
onMouseOut: function onMouseOut(event) {
|
|
71
|
-
isActive && setOver(false);
|
|
72
|
-
},
|
|
73
|
-
onClick: function onClick() {
|
|
74
|
-
isActive && _onClick();
|
|
75
|
-
}
|
|
76
|
-
}, /*#__PURE__*/_react["default"].createElement("rect", {
|
|
77
|
-
className: (0, _clsx["default"])(defaultClasses.buttonOverShape, classes.buttonOverShape),
|
|
78
|
-
x: "0",
|
|
79
|
-
y: "0",
|
|
80
|
-
height: iconSize,
|
|
81
|
-
width: iconSize
|
|
82
|
-
}), /*#__PURE__*/_react["default"].createElement("path", {
|
|
83
|
-
className: (0, _clsx["default"])(defaultClasses.buttonIcon, classes.buttonIcon, isOver && defaultClasses.buttonIconOver, isOver && classes.buttonIconOver),
|
|
84
|
-
d: path
|
|
85
|
-
})));
|
|
86
|
-
}
|
|
87
|
-
Button.propTypes = {
|
|
88
|
-
tipPlacement: _propTypes["default"].string.isRequired,
|
|
89
|
-
tipOverlay: _propTypes["default"].string.isRequired,
|
|
90
|
-
path: _propTypes["default"].string.isRequired,
|
|
91
|
-
origin: _propTypes["default"].shape({
|
|
92
|
-
x: _propTypes["default"].number.isRequired,
|
|
93
|
-
y: _propTypes["default"].number.isRequired
|
|
94
|
-
}).isRequired,
|
|
95
|
-
scale: _propTypes["default"].number.isRequired,
|
|
96
|
-
iconSize: _propTypes["default"].number.isRequired,
|
|
97
|
-
onClick: _propTypes["default"].func.isRequired,
|
|
98
|
-
classes: _propTypes["default"].object.isRequired,
|
|
99
|
-
rcToolTipPrefixCls: _propTypes["default"].string.isRequired,
|
|
100
|
-
isActive: _propTypes["default"].bool.isRequired
|
|
101
|
-
};
|
|
@@ -1,78 +0,0 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
|
|
3
|
-
Object.defineProperty(exports, "__esModule", {
|
|
4
|
-
value: true
|
|
5
|
-
});
|
|
6
|
-
exports["default"] = HistoTooltip;
|
|
7
|
-
var _styles = require("@material-ui/styles");
|
|
8
|
-
var _clsx = _interopRequireDefault(require("clsx"));
|
|
9
|
-
var _propTypes = _interopRequireDefault(require("prop-types"));
|
|
10
|
-
var _momentTimezone = _interopRequireDefault(require("moment-timezone"));
|
|
11
|
-
var _react = _interopRequireDefault(require("react"));
|
|
12
|
-
function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { "default": obj }; }
|
|
13
|
-
var useStyles = (0, _styles.makeStyles)({
|
|
14
|
-
innerTipMetrics: {
|
|
15
|
-
marginTop: 4
|
|
16
|
-
},
|
|
17
|
-
innerTipLeft: {
|
|
18
|
-
marginRight: 4,
|
|
19
|
-
display: 'inline-block'
|
|
20
|
-
},
|
|
21
|
-
innerTipRight: {
|
|
22
|
-
display: 'inline-block',
|
|
23
|
-
"float": 'right'
|
|
24
|
-
}
|
|
25
|
-
});
|
|
26
|
-
function HistoTooltip(_ref) {
|
|
27
|
-
var metricsDefinition = _ref.metricsDefinition,
|
|
28
|
-
item = _ref.item,
|
|
29
|
-
onFormatTimeToolTips = _ref.onFormatTimeToolTips,
|
|
30
|
-
onFormatMetricLegend = _ref.onFormatMetricLegend,
|
|
31
|
-
classes = _ref.classes;
|
|
32
|
-
var defaultClasses = useStyles();
|
|
33
|
-
var className = function className(_className) {
|
|
34
|
-
return (0, _clsx["default"])(defaultClasses[_className], classes[_className]);
|
|
35
|
-
};
|
|
36
|
-
return /*#__PURE__*/_react["default"].createElement(_react["default"].Fragment, null, /*#__PURE__*/_react["default"].createElement("div", null, /*#__PURE__*/_react["default"].createElement("div", {
|
|
37
|
-
className: className('innerTipLeft')
|
|
38
|
-
}, /*#__PURE__*/_react["default"].createElement("br", null), "\u2192"), /*#__PURE__*/_react["default"].createElement("div", {
|
|
39
|
-
className: className('innerTipRight')
|
|
40
|
-
}, onFormatTimeToolTips(item.start), /*#__PURE__*/_react["default"].createElement("br", null), onFormatTimeToolTips(item.end))), /*#__PURE__*/_react["default"].createElement("div", {
|
|
41
|
-
className: className('innerTipMetrics')
|
|
42
|
-
}, metricsDefinition.colors.map(function (color, m) {
|
|
43
|
-
var reversed = metricsDefinition.colors.length - m - 1;
|
|
44
|
-
return /*#__PURE__*/_react["default"].createElement("div", {
|
|
45
|
-
key: reversed
|
|
46
|
-
}, "- ", /*#__PURE__*/_react["default"].createElement("span", {
|
|
47
|
-
style: {
|
|
48
|
-
color: metricsDefinition.colors[reversed].stroke
|
|
49
|
-
}
|
|
50
|
-
}, metricsDefinition.legends[reversed]), /*#__PURE__*/_react["default"].createElement("span", {
|
|
51
|
-
className: className('innerTipRight')
|
|
52
|
-
}, onFormatMetricLegend(item.metrics[reversed])));
|
|
53
|
-
}), /*#__PURE__*/_react["default"].createElement("hr", null), /*#__PURE__*/_react["default"].createElement("div", null, "Total", /*#__PURE__*/_react["default"].createElement("span", {
|
|
54
|
-
className: className('innerTipRight')
|
|
55
|
-
}, onFormatMetricLegend(item.total)))));
|
|
56
|
-
}
|
|
57
|
-
HistoTooltip.propTypes = {
|
|
58
|
-
classes: _propTypes["default"].object,
|
|
59
|
-
item: _propTypes["default"].shape({
|
|
60
|
-
start: _propTypes["default"].instanceOf(_momentTimezone["default"]).isRequired,
|
|
61
|
-
end: _propTypes["default"].instanceOf(_momentTimezone["default"]).isRequired,
|
|
62
|
-
x1: _propTypes["default"].number,
|
|
63
|
-
x2: _propTypes["default"].number,
|
|
64
|
-
metrics: _propTypes["default"].arrayOf(_propTypes["default"].number).isRequired,
|
|
65
|
-
total: _propTypes["default"].number.isRequired
|
|
66
|
-
}),
|
|
67
|
-
metricsDefinition: _propTypes["default"].shape({
|
|
68
|
-
count: _propTypes["default"].number.isRequired,
|
|
69
|
-
legends: _propTypes["default"].arrayOf(_propTypes["default"].string).isRequired,
|
|
70
|
-
colors: _propTypes["default"].arrayOf(_propTypes["default"].shape({
|
|
71
|
-
fill: _propTypes["default"].string.isRequired,
|
|
72
|
-
stroke: _propTypes["default"].string.isRequired,
|
|
73
|
-
text: _propTypes["default"].string.isRequired
|
|
74
|
-
})).isRequired
|
|
75
|
-
}).isRequired,
|
|
76
|
-
onFormatTimeToolTips: _propTypes["default"].func.isRequired,
|
|
77
|
-
onFormatMetricLegend: _propTypes["default"].func.isRequired
|
|
78
|
-
};
|
|
@@ -1,110 +0,0 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
|
|
3
|
-
Object.defineProperty(exports, "__esModule", {
|
|
4
|
-
value: true
|
|
5
|
-
});
|
|
6
|
-
exports["default"] = Histogram;
|
|
7
|
-
var _react = _interopRequireDefault(require("react"));
|
|
8
|
-
var _momentTimezone = _interopRequireDefault(require("moment-timezone"));
|
|
9
|
-
var _sum2 = _interopRequireDefault(require("lodash-es/sum"));
|
|
10
|
-
var _propTypes = _interopRequireDefault(require("prop-types"));
|
|
11
|
-
var _clsx = _interopRequireDefault(require("clsx"));
|
|
12
|
-
var _styles = require("@material-ui/styles");
|
|
13
|
-
var _ToolTip = _interopRequireDefault(require("../ToolTip"));
|
|
14
|
-
function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { "default": obj }; }
|
|
15
|
-
var useStyles = (0, _styles.makeStyles)({
|
|
16
|
-
histoItem: {
|
|
17
|
-
fillOpacity: 1,
|
|
18
|
-
strokeWidth: 1
|
|
19
|
-
},
|
|
20
|
-
histoHovered: {
|
|
21
|
-
strokeWidth: 0,
|
|
22
|
-
fill: '#000000',
|
|
23
|
-
fillOpacity: 0.3
|
|
24
|
-
}
|
|
25
|
-
});
|
|
26
|
-
function Histogram(_ref) {
|
|
27
|
-
var classes = _ref.classes,
|
|
28
|
-
items = _ref.items,
|
|
29
|
-
metricsDefinition = _ref.metricsDefinition,
|
|
30
|
-
origin = _ref.origin,
|
|
31
|
-
barHovered = _ref.barHovered,
|
|
32
|
-
tooltipVisible = _ref.tooltipVisible,
|
|
33
|
-
verticalScale = _ref.verticalScale,
|
|
34
|
-
dragging = _ref.dragging,
|
|
35
|
-
HistoToolTip = _ref.HistoToolTip,
|
|
36
|
-
onFormatMetricLegend = _ref.onFormatMetricLegend,
|
|
37
|
-
onFormatTimeToolTips = _ref.onFormatTimeToolTips;
|
|
38
|
-
if (!items) {
|
|
39
|
-
return null;
|
|
40
|
-
}
|
|
41
|
-
var defaultClasses = useStyles();
|
|
42
|
-
var className = function className(_className) {
|
|
43
|
-
return (0, _clsx["default"])(defaultClasses[_className], classes[_className]);
|
|
44
|
-
};
|
|
45
|
-
return /*#__PURE__*/_react["default"].createElement("g", {
|
|
46
|
-
transform: "translate(".concat(origin.x, ", ").concat(origin.y, ")")
|
|
47
|
-
}, items.map(function (item, i) {
|
|
48
|
-
return /*#__PURE__*/_react["default"].createElement("g", {
|
|
49
|
-
key: i
|
|
50
|
-
}, metricsDefinition.colors.map(function (color, m) {
|
|
51
|
-
return item.metrics[m] > 0 && /*#__PURE__*/_react["default"].createElement("rect", {
|
|
52
|
-
key: m,
|
|
53
|
-
className: className('histoItem'),
|
|
54
|
-
style: {
|
|
55
|
-
fill: color.fill,
|
|
56
|
-
stroke: color.stroke
|
|
57
|
-
},
|
|
58
|
-
x: item.x1,
|
|
59
|
-
y: -verticalScale((0, _sum2["default"])(item.metrics.slice(0, m + 1))),
|
|
60
|
-
width: item.x2 - item.x1,
|
|
61
|
-
height: verticalScale(item.metrics[m])
|
|
62
|
-
});
|
|
63
|
-
}), barHovered === i && !dragging && /*#__PURE__*/_react["default"].createElement(_ToolTip["default"], {
|
|
64
|
-
overlay: /*#__PURE__*/_react["default"].createElement(HistoToolTip, {
|
|
65
|
-
item: item,
|
|
66
|
-
metricsDefinition: metricsDefinition,
|
|
67
|
-
onFormatTimeToolTips: onFormatTimeToolTips,
|
|
68
|
-
onFormatMetricLegend: onFormatMetricLegend,
|
|
69
|
-
classes: classes
|
|
70
|
-
}),
|
|
71
|
-
visible: tooltipVisible
|
|
72
|
-
}, /*#__PURE__*/_react["default"].createElement("rect", {
|
|
73
|
-
className: className('histoHovered'),
|
|
74
|
-
x: item.x1,
|
|
75
|
-
y: -item.height,
|
|
76
|
-
width: item.x2 - item.x1,
|
|
77
|
-
height: item.height
|
|
78
|
-
})));
|
|
79
|
-
}));
|
|
80
|
-
}
|
|
81
|
-
Histogram.propTypes = {
|
|
82
|
-
classes: _propTypes["default"].object,
|
|
83
|
-
items: _propTypes["default"].arrayOf(_propTypes["default"].shape({
|
|
84
|
-
start: _propTypes["default"].instanceOf(_momentTimezone["default"]).isRequired,
|
|
85
|
-
end: _propTypes["default"].instanceOf(_momentTimezone["default"]).isRequired,
|
|
86
|
-
x1: _propTypes["default"].number,
|
|
87
|
-
x2: _propTypes["default"].number,
|
|
88
|
-
metrics: _propTypes["default"].arrayOf(_propTypes["default"].number).isRequired,
|
|
89
|
-
total: _propTypes["default"].number.isRequired
|
|
90
|
-
})),
|
|
91
|
-
metricsDefinition: _propTypes["default"].shape({
|
|
92
|
-
count: _propTypes["default"].number.isRequired,
|
|
93
|
-
legends: _propTypes["default"].arrayOf(_propTypes["default"].string).isRequired,
|
|
94
|
-
colors: _propTypes["default"].arrayOf(_propTypes["default"].shape({
|
|
95
|
-
fill: _propTypes["default"].string.isRequired,
|
|
96
|
-
stroke: _propTypes["default"].string.isRequired,
|
|
97
|
-
text: _propTypes["default"].string.isRequired
|
|
98
|
-
})).isRequired
|
|
99
|
-
}).isRequired,
|
|
100
|
-
origin: _propTypes["default"].shape({
|
|
101
|
-
x: _propTypes["default"].number.isRequired,
|
|
102
|
-
y: _propTypes["default"].number.isRequired
|
|
103
|
-
}).isRequired,
|
|
104
|
-
verticalScale: _propTypes["default"].func.isRequired,
|
|
105
|
-
onFormatTimeToolTips: _propTypes["default"].func.isRequired,
|
|
106
|
-
onFormatMetricLegend: _propTypes["default"].func.isRequired,
|
|
107
|
-
HistoToolTip: _propTypes["default"].elementType,
|
|
108
|
-
barHovered: _propTypes["default"].number,
|
|
109
|
-
tooltipVisible: _propTypes["default"].bool
|
|
110
|
-
};
|
|
@@ -1,70 +0,0 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
|
|
3
|
-
Object.defineProperty(exports, "__esModule", {
|
|
4
|
-
value: true
|
|
5
|
-
});
|
|
6
|
-
exports["default"] = Legend;
|
|
7
|
-
var _react = _interopRequireDefault(require("react"));
|
|
8
|
-
var _propTypes = _interopRequireDefault(require("prop-types"));
|
|
9
|
-
var _clsx = _interopRequireDefault(require("clsx"));
|
|
10
|
-
var _theme = _interopRequireDefault(require("../theme"));
|
|
11
|
-
var _styles = require("@material-ui/styles");
|
|
12
|
-
function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { "default": obj }; }
|
|
13
|
-
function _toConsumableArray(arr) { return _arrayWithoutHoles(arr) || _iterableToArray(arr) || _unsupportedIterableToArray(arr) || _nonIterableSpread(); }
|
|
14
|
-
function _nonIterableSpread() { throw new TypeError("Invalid attempt to spread non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method."); }
|
|
15
|
-
function _unsupportedIterableToArray(o, minLen) { if (!o) return; if (typeof o === "string") return _arrayLikeToArray(o, minLen); var n = Object.prototype.toString.call(o).slice(8, -1); if (n === "Object" && o.constructor) n = o.constructor.name; if (n === "Map" || n === "Set") return Array.from(o); if (n === "Arguments" || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)) return _arrayLikeToArray(o, minLen); }
|
|
16
|
-
function _iterableToArray(iter) { if (typeof Symbol !== "undefined" && iter[Symbol.iterator] != null || iter["@@iterator"] != null) return Array.from(iter); }
|
|
17
|
-
function _arrayWithoutHoles(arr) { if (Array.isArray(arr)) return _arrayLikeToArray(arr); }
|
|
18
|
-
function _arrayLikeToArray(arr, len) { if (len == null || len > arr.length) len = arr.length; for (var i = 0, arr2 = new Array(len); i < len; i++) { arr2[i] = arr[i]; } return arr2; }
|
|
19
|
-
var useStyles = (0, _styles.makeStyles)({
|
|
20
|
-
legend: {
|
|
21
|
-
fontSize: _theme["default"].font.legendSize,
|
|
22
|
-
lineHeight: '125%',
|
|
23
|
-
fontFamily: _theme["default"].font.family,
|
|
24
|
-
fillOpacity: 1,
|
|
25
|
-
stroke: 'none',
|
|
26
|
-
textAlign: 'end',
|
|
27
|
-
textAnchor: 'end',
|
|
28
|
-
userSelect: 'none'
|
|
29
|
-
}
|
|
30
|
-
});
|
|
31
|
-
function Legend(_ref) {
|
|
32
|
-
var classes = _ref.classes,
|
|
33
|
-
metricsDefinition = _ref.metricsDefinition,
|
|
34
|
-
origin = _ref.origin;
|
|
35
|
-
var fill = _toConsumableArray(metricsDefinition.colors).reverse();
|
|
36
|
-
var legends = _toConsumableArray(metricsDefinition.legends).reverse();
|
|
37
|
-
var defaultClasses = useStyles();
|
|
38
|
-
var className = function className(_className) {
|
|
39
|
-
return (0, _clsx["default"])(defaultClasses[_className], classes[_className]);
|
|
40
|
-
};
|
|
41
|
-
return /*#__PURE__*/_react["default"].createElement("g", {
|
|
42
|
-
transform: "translate(".concat(origin.x, ",").concat(origin.y, ")")
|
|
43
|
-
}, legends.map(function (leg, i) {
|
|
44
|
-
return /*#__PURE__*/_react["default"].createElement("text", {
|
|
45
|
-
key: i,
|
|
46
|
-
className: className('legend'),
|
|
47
|
-
style: {
|
|
48
|
-
fill: fill[i].text
|
|
49
|
-
},
|
|
50
|
-
x: 0,
|
|
51
|
-
y: 14 * (i + 1)
|
|
52
|
-
}, /*#__PURE__*/_react["default"].createElement("tspan", null, leg));
|
|
53
|
-
}));
|
|
54
|
-
}
|
|
55
|
-
Legend.propTypes = {
|
|
56
|
-
classes: _propTypes["default"].object.isRequired,
|
|
57
|
-
origin: _propTypes["default"].shape({
|
|
58
|
-
x: _propTypes["default"].number.isRequired,
|
|
59
|
-
y: _propTypes["default"].number.isRequired
|
|
60
|
-
}).isRequired,
|
|
61
|
-
metricsDefinition: _propTypes["default"].shape({
|
|
62
|
-
count: _propTypes["default"].number.isRequired,
|
|
63
|
-
legends: _propTypes["default"].arrayOf(_propTypes["default"].string).isRequired,
|
|
64
|
-
colors: _propTypes["default"].arrayOf(_propTypes["default"].shape({
|
|
65
|
-
fill: _propTypes["default"].string.isRequired,
|
|
66
|
-
stroke: _propTypes["default"].string.isRequired,
|
|
67
|
-
text: _propTypes["default"].string.isRequired
|
|
68
|
-
})).isRequired
|
|
69
|
-
}).isRequired
|
|
70
|
-
};
|
|
@@ -1,81 +0,0 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
|
|
3
|
-
Object.defineProperty(exports, "__esModule", {
|
|
4
|
-
value: true
|
|
5
|
-
});
|
|
6
|
-
exports["default"] = QualityLine;
|
|
7
|
-
var _react = _interopRequireDefault(require("react"));
|
|
8
|
-
var _propTypes = _interopRequireDefault(require("prop-types"));
|
|
9
|
-
var _clsx = _interopRequireDefault(require("clsx"));
|
|
10
|
-
var _theme = _interopRequireDefault(require("../theme"));
|
|
11
|
-
var _styles = require("@material-ui/styles");
|
|
12
|
-
var _momentTimezone = _interopRequireDefault(require("moment-timezone"));
|
|
13
|
-
var _ToolTip = _interopRequireDefault(require("../ToolTip"));
|
|
14
|
-
function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { "default": obj }; }
|
|
15
|
-
var qualityHeight = 3;
|
|
16
|
-
var useStyles = (0, _styles.makeStyles)({
|
|
17
|
-
qualityCell: {
|
|
18
|
-
strokeWidth: 0
|
|
19
|
-
}
|
|
20
|
-
});
|
|
21
|
-
function QualityLine(_ref) {
|
|
22
|
-
var classes = _ref.classes,
|
|
23
|
-
rcToolTipPrefixCls = _ref.rcToolTipPrefixCls,
|
|
24
|
-
origin = _ref.origin,
|
|
25
|
-
quality = _ref.quality,
|
|
26
|
-
xAxis = _ref.xAxis,
|
|
27
|
-
qualityScale = _ref.qualityScale;
|
|
28
|
-
var defaultClasses = useStyles();
|
|
29
|
-
var className = function className(_className) {
|
|
30
|
-
return (0, _clsx["default"])(defaultClasses[_className], classes[_className]);
|
|
31
|
-
};
|
|
32
|
-
return /*#__PURE__*/_react["default"].createElement("g", {
|
|
33
|
-
transform: "translate(".concat(origin.x, ", ").concat(origin.y, ")")
|
|
34
|
-
}, quality.items.map(function (item, i) {
|
|
35
|
-
var x1 = xAxis(item.time);
|
|
36
|
-
var x2 = xAxis((0, _momentTimezone["default"])(item.time).add(quality.intervalMin, 'minutes'));
|
|
37
|
-
var rect = /*#__PURE__*/_react["default"].createElement("rect", {
|
|
38
|
-
key: i,
|
|
39
|
-
className: className('qualityCell'),
|
|
40
|
-
style: {
|
|
41
|
-
fill: qualityScale(item.quality)
|
|
42
|
-
},
|
|
43
|
-
onMouseOver: function onMouseOver(event) {
|
|
44
|
-
event.target.style.fill = _theme["default"].colors.qualityFillSelected;
|
|
45
|
-
},
|
|
46
|
-
onMouseOut: function onMouseOut(event) {
|
|
47
|
-
event.target.style.fill = qualityScale(item.quality);
|
|
48
|
-
},
|
|
49
|
-
x: x1,
|
|
50
|
-
y: 1,
|
|
51
|
-
width: x2 - x1,
|
|
52
|
-
height: qualityHeight
|
|
53
|
-
});
|
|
54
|
-
if (item.tip) {
|
|
55
|
-
return /*#__PURE__*/_react["default"].createElement(_ToolTip["default"], {
|
|
56
|
-
key: i,
|
|
57
|
-
placement: 'bottom',
|
|
58
|
-
overlay: item.tip,
|
|
59
|
-
mouseEnterDelay: 0.1
|
|
60
|
-
}, rect);
|
|
61
|
-
} else return rect;
|
|
62
|
-
}));
|
|
63
|
-
}
|
|
64
|
-
QualityLine.propTypes = {
|
|
65
|
-
classes: _propTypes["default"].object.isRequired,
|
|
66
|
-
rcToolTipPrefixCls: _propTypes["default"].string.isRequired,
|
|
67
|
-
origin: _propTypes["default"].shape({
|
|
68
|
-
x: _propTypes["default"].number.isRequired,
|
|
69
|
-
y: _propTypes["default"].number.isRequired
|
|
70
|
-
}).isRequired,
|
|
71
|
-
xAxis: _propTypes["default"].func.isRequired,
|
|
72
|
-
quality: _propTypes["default"].shape({
|
|
73
|
-
items: _propTypes["default"].arrayOf(_propTypes["default"].shape({
|
|
74
|
-
time: _propTypes["default"].instanceOf(_momentTimezone["default"]).isRequired,
|
|
75
|
-
quality: _propTypes["default"].number.isRequired,
|
|
76
|
-
tip: _propTypes["default"].node
|
|
77
|
-
})),
|
|
78
|
-
intervalMin: _propTypes["default"].number
|
|
79
|
-
}).isRequired,
|
|
80
|
-
qualityScale: _propTypes["default"].func.isRequired
|
|
81
|
-
};
|
|
@@ -1,115 +0,0 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
|
|
3
|
-
Object.defineProperty(exports, "__esModule", {
|
|
4
|
-
value: true
|
|
5
|
-
});
|
|
6
|
-
exports["default"] = Tools;
|
|
7
|
-
var _react = _interopRequireDefault(require("react"));
|
|
8
|
-
var _propTypes = _interopRequireDefault(require("prop-types"));
|
|
9
|
-
var _momentTimezone = _interopRequireDefault(require("moment-timezone"));
|
|
10
|
-
var _Button = _interopRequireDefault(require("./Button"));
|
|
11
|
-
function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { "default": obj }; }
|
|
12
|
-
var doubleArrowIcon = 'm 0,0 5,5 0,-5 5,5 -5,5 0,-5 -5,5 Z';
|
|
13
|
-
var resetIcon = 'M5 15H3v4c0 1.1.9 2 2 2h4v-2H5v-4zM5 5h4V3H5c-1.1 0-2 .9-2 2v4h2V5zm14-2h-4v2h4v4h2V5c0-1.1-.9-2-2-2zm0 16h-4v2h4c1.1 0 2-.9 2-2v-4h-2v4zM12 9c-1.66 0-3 1.34-3 3s1.34 3 3 3 3-1.34 3-3-1.34-3-3-3z';
|
|
14
|
-
var gotoNowIcon = 'M11.99 2C6.47 2 2 6.48 2 12s4.47 10 9.99 10C17.52 22 22 17.52 22 12S17.52 2 11.99 2zM12 20c-4.42 0-8-3.58-8-8s3.58-8 8-8 8 3.58 8 8-3.58 8-8 8zm.5-13H11v6l5.25 3.15.75-1.23-4.5-2.67z';
|
|
15
|
-
function Tools(_ref) {
|
|
16
|
-
var tools = _ref.tools,
|
|
17
|
-
classes = _ref.classes,
|
|
18
|
-
rcToolTipPrefixCls = _ref.rcToolTipPrefixCls,
|
|
19
|
-
labels = _ref.labels,
|
|
20
|
-
histoWidth = _ref.histoWidth,
|
|
21
|
-
isActive = _ref.isActive,
|
|
22
|
-
origin = _ref.origin,
|
|
23
|
-
onResetTime = _ref.onResetTime,
|
|
24
|
-
shiftTimeLine = _ref.shiftTimeLine,
|
|
25
|
-
onGoto = _ref.onGoto;
|
|
26
|
-
return /*#__PURE__*/_react["default"].createElement("g", {
|
|
27
|
-
transform: "translate(".concat(origin.x, ", ").concat(origin.y, ")")
|
|
28
|
-
}, tools.slideForward !== false && /*#__PURE__*/_react["default"].createElement(_Button["default"], {
|
|
29
|
-
classes: classes,
|
|
30
|
-
rcToolTipPrefixCls: rcToolTipPrefixCls,
|
|
31
|
-
tipPlacement: "left",
|
|
32
|
-
tipOverlay: labels.forwardButtonTip,
|
|
33
|
-
origin: {
|
|
34
|
-
x: histoWidth + 22,
|
|
35
|
-
y: -5
|
|
36
|
-
},
|
|
37
|
-
scale: 1,
|
|
38
|
-
path: doubleArrowIcon,
|
|
39
|
-
iconSize: 10,
|
|
40
|
-
isActive: isActive,
|
|
41
|
-
onClick: function onClick() {
|
|
42
|
-
shiftTimeLine(-120);
|
|
43
|
-
}
|
|
44
|
-
}), tools.slideBackward !== false && /*#__PURE__*/_react["default"].createElement(_Button["default"], {
|
|
45
|
-
classes: classes,
|
|
46
|
-
rcToolTipPrefixCls: rcToolTipPrefixCls,
|
|
47
|
-
tipPlacement: "right",
|
|
48
|
-
tipOverlay: labels.backwardButtonTip,
|
|
49
|
-
origin: {
|
|
50
|
-
x: -7,
|
|
51
|
-
y: 5
|
|
52
|
-
},
|
|
53
|
-
scale: -1,
|
|
54
|
-
path: doubleArrowIcon,
|
|
55
|
-
iconSize: 10,
|
|
56
|
-
isActive: isActive,
|
|
57
|
-
onClick: function onClick() {
|
|
58
|
-
shiftTimeLine(120);
|
|
59
|
-
}
|
|
60
|
-
}), tools.resetTimeline !== false && /*#__PURE__*/_react["default"].createElement(_Button["default"], {
|
|
61
|
-
classes: classes,
|
|
62
|
-
rcToolTipPrefixCls: rcToolTipPrefixCls,
|
|
63
|
-
tipPlacement: "left",
|
|
64
|
-
tipOverlay: labels.resetButtonTip,
|
|
65
|
-
origin: {
|
|
66
|
-
x: histoWidth + 17,
|
|
67
|
-
y: -30
|
|
68
|
-
},
|
|
69
|
-
scale: 0.75,
|
|
70
|
-
path: resetIcon,
|
|
71
|
-
iconSize: 24,
|
|
72
|
-
isActive: isActive,
|
|
73
|
-
onClick: onResetTime
|
|
74
|
-
}), tools.gotoNow !== false && /*#__PURE__*/_react["default"].createElement(_Button["default"], {
|
|
75
|
-
classes: classes,
|
|
76
|
-
rcToolTipPrefixCls: rcToolTipPrefixCls,
|
|
77
|
-
tipPlacement: "left",
|
|
78
|
-
tipOverlay: labels.gotoNowButtonTip,
|
|
79
|
-
origin: {
|
|
80
|
-
x: histoWidth + 17,
|
|
81
|
-
y: tools.resetTimeline !== false ? -53 : -30
|
|
82
|
-
},
|
|
83
|
-
scale: 0.75,
|
|
84
|
-
path: gotoNowIcon,
|
|
85
|
-
iconSize: 24,
|
|
86
|
-
isActive: isActive,
|
|
87
|
-
onClick: onGoto
|
|
88
|
-
}));
|
|
89
|
-
}
|
|
90
|
-
Tools.propTypes = {
|
|
91
|
-
tools: _propTypes["default"].shape({
|
|
92
|
-
slideForward: _propTypes["default"].bool,
|
|
93
|
-
slideBackward: _propTypes["default"].bool,
|
|
94
|
-
resetTimeline: _propTypes["default"].bool,
|
|
95
|
-
gotoNow: _propTypes["default"].bool,
|
|
96
|
-
cursor: _propTypes["default"].bool
|
|
97
|
-
}).isRequired,
|
|
98
|
-
classes: _propTypes["default"].object.isRequired,
|
|
99
|
-
rcToolTipPrefixCls: _propTypes["default"].string.isRequired,
|
|
100
|
-
labels: _propTypes["default"].shape({
|
|
101
|
-
forwardButtonTip: _propTypes["default"].string.isRequired,
|
|
102
|
-
backwardButtonTip: _propTypes["default"].string.isRequired,
|
|
103
|
-
resetButtonTip: _propTypes["default"].string.isRequired,
|
|
104
|
-
gotoNowButtonTip: _propTypes["default"].string.isRequired
|
|
105
|
-
}).isRequired,
|
|
106
|
-
histoWidth: _propTypes["default"].number.isRequired,
|
|
107
|
-
isActive: _propTypes["default"].bool.isRequired,
|
|
108
|
-
origin: _propTypes["default"].shape({
|
|
109
|
-
x: _propTypes["default"].number.isRequired,
|
|
110
|
-
y: _propTypes["default"].number.isRequired
|
|
111
|
-
}).isRequired,
|
|
112
|
-
onResetTime: _propTypes["default"].func.isRequired,
|
|
113
|
-
shiftTimeLine: _propTypes["default"].func.isRequired,
|
|
114
|
-
onGoto: _propTypes["default"].func.isRequired
|
|
115
|
-
};
|
|
@@ -1,76 +0,0 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
|
|
3
|
-
Object.defineProperty(exports, "__esModule", {
|
|
4
|
-
value: true
|
|
5
|
-
});
|
|
6
|
-
exports["default"] = XAxis;
|
|
7
|
-
var _react = _interopRequireDefault(require("react"));
|
|
8
|
-
var _momentTimezone = _interopRequireDefault(require("moment-timezone"));
|
|
9
|
-
var _propTypes = _interopRequireDefault(require("prop-types"));
|
|
10
|
-
var _d3Time = require("d3-time");
|
|
11
|
-
var _clsx = _interopRequireDefault(require("clsx"));
|
|
12
|
-
var _axesStyles = require("./axesStyles");
|
|
13
|
-
function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { "default": obj }; }
|
|
14
|
-
function XAxis(_ref) {
|
|
15
|
-
var min = _ref.min,
|
|
16
|
-
max = _ref.max,
|
|
17
|
-
origin = _ref.origin,
|
|
18
|
-
axisWidth = _ref.axisWidth,
|
|
19
|
-
marks = _ref.marks,
|
|
20
|
-
xAxis = _ref.xAxis,
|
|
21
|
-
classes = _ref.classes,
|
|
22
|
-
arrowPath = _ref.arrowPath,
|
|
23
|
-
onFormatTimeLegend = _ref.onFormatTimeLegend;
|
|
24
|
-
var now = (0, _momentTimezone["default"])();
|
|
25
|
-
var defaultClasses = (0, _axesStyles.useStyles)();
|
|
26
|
-
var className = function className(_className) {
|
|
27
|
-
return (0, _clsx["default"])(defaultClasses[_className], classes[_className]);
|
|
28
|
-
};
|
|
29
|
-
return /*#__PURE__*/_react["default"].createElement("g", {
|
|
30
|
-
transform: "translate(".concat(origin.x, ", ").concat(origin.y, ")")
|
|
31
|
-
}, /*#__PURE__*/_react["default"].createElement("path", {
|
|
32
|
-
className: className('axis'),
|
|
33
|
-
d: "M 0,-6 0,6"
|
|
34
|
-
}), /*#__PURE__*/_react["default"].createElement("path", {
|
|
35
|
-
className: className('axis'),
|
|
36
|
-
d: "M 0,0 ".concat(axisWidth + 5, ",0")
|
|
37
|
-
}), /*#__PURE__*/_react["default"].createElement("g", {
|
|
38
|
-
transform: "translate(".concat(axisWidth, ",0)")
|
|
39
|
-
}, /*#__PURE__*/_react["default"].createElement("path", {
|
|
40
|
-
className: className('arrow'),
|
|
41
|
-
d: arrowPath
|
|
42
|
-
})), marks && marks.map(function (m, index) {
|
|
43
|
-
return /*#__PURE__*/_react["default"].createElement("g", {
|
|
44
|
-
key: m.toISOString(),
|
|
45
|
-
transform: "translate(".concat(xAxis(m), ",0)")
|
|
46
|
-
}, /*#__PURE__*/_react["default"].createElement("path", {
|
|
47
|
-
className: className('limitMarker'),
|
|
48
|
-
d: "M 0,0 0,6"
|
|
49
|
-
}), /*#__PURE__*/_react["default"].createElement("text", {
|
|
50
|
-
x: 0,
|
|
51
|
-
y: 15,
|
|
52
|
-
className: (0, _clsx["default"])(className('timeAxisText'), (0, _d3Time.timeDay)(m) >= m && className('timeAxisDaysText'))
|
|
53
|
-
}, onFormatTimeLegend(m)));
|
|
54
|
-
}), xAxis && now.isSameOrBefore(max) && now.isSameOrAfter(min) && /*#__PURE__*/_react["default"].createElement("path", {
|
|
55
|
-
transform: "translate(".concat(xAxis(now), ",0)"),
|
|
56
|
-
className: className('now'),
|
|
57
|
-
d: "m -3,6 6,0 -3,-6 Z"
|
|
58
|
-
}));
|
|
59
|
-
}
|
|
60
|
-
XAxis.propTypes = {
|
|
61
|
-
axisWidth: _propTypes["default"].number.isRequired,
|
|
62
|
-
classes: _propTypes["default"].object,
|
|
63
|
-
min: _propTypes["default"].instanceOf(_momentTimezone["default"]),
|
|
64
|
-
max: _propTypes["default"].instanceOf(_momentTimezone["default"]),
|
|
65
|
-
origin: _propTypes["default"].shape({
|
|
66
|
-
x: _propTypes["default"].number.isRequired,
|
|
67
|
-
y: _propTypes["default"].number.isRequired
|
|
68
|
-
}).isRequired,
|
|
69
|
-
marks: _propTypes["default"].array,
|
|
70
|
-
xAxis: _propTypes["default"].func,
|
|
71
|
-
arrowPath: _propTypes["default"].string,
|
|
72
|
-
onFormatTimeLegend: _propTypes["default"].func.isRequired
|
|
73
|
-
};
|
|
74
|
-
XAxis.defaultProps = {
|
|
75
|
-
arrowPath: _axesStyles.arrow
|
|
76
|
-
};
|