@pie-lib/graphing-solution-set 2.16.0-beta.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.json +1 -0
- package/CHANGELOG.md +16 -0
- package/LICENSE.md +5 -0
- package/NEXT.CHANGELOG.json +1 -0
- package/lib/__tests__/graph-with-controls.test.js +191 -0
- package/lib/__tests__/graph.test.js +290 -0
- package/lib/__tests__/grid.test.js +40 -0
- package/lib/__tests__/labels.test.js +59 -0
- package/lib/__tests__/mark-label.test.js +154 -0
- package/lib/__tests__/toggle-bar.test.js +54 -0
- package/lib/__tests__/tool-menu.test.js +43 -0
- package/lib/__tests__/undo-redo.test.js +42 -0
- package/lib/__tests__/use-debounce.test.js +28 -0
- package/lib/__tests__/utils.js +72 -0
- package/lib/__tests__/utils.test.js +133 -0
- package/lib/axis/__tests__/arrow.test.js +68 -0
- package/lib/axis/__tests__/axes.test.js +214 -0
- package/lib/axis/arrow.js +115 -0
- package/lib/axis/axes.js +415 -0
- package/lib/axis/index.js +26 -0
- package/lib/bg.js +139 -0
- package/lib/container/actions.js +24 -0
- package/lib/container/index.js +166 -0
- package/lib/container/marks.js +27 -0
- package/lib/container/middleware.js +25 -0
- package/lib/container/reducer.js +25 -0
- package/lib/coordinates-label.js +109 -0
- package/lib/graph-with-controls.js +372 -0
- package/lib/graph.js +419 -0
- package/lib/grid-setup.js +462 -0
- package/lib/grid.js +176 -0
- package/lib/index.js +51 -0
- package/lib/labels.js +299 -0
- package/lib/mark-label.js +208 -0
- package/lib/toggle-bar.js +336 -0
- package/lib/tool-menu.js +325 -0
- package/lib/tools/index.js +29 -0
- package/lib/tools/line/__tests__/component.test.js +56 -0
- package/lib/tools/line/component.js +106 -0
- package/lib/tools/line/index.js +16 -0
- package/lib/tools/polygon/__tests__/component.test.js +245 -0
- package/lib/tools/polygon/__tests__/index.test.js +95 -0
- package/lib/tools/polygon/__tests__/line.test.js +43 -0
- package/lib/tools/polygon/__tests__/polygon.test.js +73 -0
- package/lib/tools/polygon/component.js +457 -0
- package/lib/tools/polygon/index.js +106 -0
- package/lib/tools/polygon/line.js +151 -0
- package/lib/tools/polygon/polygon.js +171 -0
- package/lib/tools/shared/__tests__/arrow-head.test.js +62 -0
- package/lib/tools/shared/arrow-head.js +75 -0
- package/lib/tools/shared/line/__tests__/index.test.js +291 -0
- package/lib/tools/shared/line/__tests__/line-path.test.js +78 -0
- package/lib/tools/shared/line/__tests__/with-root-edge.test.js +122 -0
- package/lib/tools/shared/line/index.js +637 -0
- package/lib/tools/shared/line/line-path.js +145 -0
- package/lib/tools/shared/line/with-root-edge.js +155 -0
- package/lib/tools/shared/point/__tests__/arrow-point.test.js +137 -0
- package/lib/tools/shared/point/__tests__/base-point.test.js +134 -0
- package/lib/tools/shared/point/arrow-point.js +113 -0
- package/lib/tools/shared/point/arrow.js +96 -0
- package/lib/tools/shared/point/base-point.js +151 -0
- package/lib/tools/shared/point/index.js +94 -0
- package/lib/tools/shared/styles.js +49 -0
- package/lib/tools/shared/types.js +19 -0
- package/lib/undo-redo.js +107 -0
- package/lib/use-debounce.js +32 -0
- package/lib/utils.js +314 -0
- package/package.json +50 -0
- package/src/__tests__/__snapshots__/graph-with-controls.test.jsx.snap +114 -0
- package/src/__tests__/__snapshots__/graph.test.jsx.snap +213 -0
- package/src/__tests__/__snapshots__/grid.test.jsx.snap +54 -0
- package/src/__tests__/__snapshots__/labels.test.jsx.snap +30 -0
- package/src/__tests__/__snapshots__/mark-label.test.jsx.snap +37 -0
- package/src/__tests__/__snapshots__/toggle-bar.test.jsx.snap +7 -0
- package/src/__tests__/__snapshots__/tool-menu.test.jsx.snap +35 -0
- package/src/__tests__/__snapshots__/undo-redo.test.jsx.snap +15 -0
- package/src/__tests__/graph-with-controls.test.jsx +131 -0
- package/src/__tests__/graph.test.jsx +230 -0
- package/src/__tests__/grid.test.jsx +20 -0
- package/src/__tests__/labels.test.jsx +38 -0
- package/src/__tests__/mark-label.test.jsx +68 -0
- package/src/__tests__/toggle-bar.test.jsx +36 -0
- package/src/__tests__/tool-menu.test.jsx +29 -0
- package/src/__tests__/undo-redo.test.jsx +25 -0
- package/src/__tests__/use-debounce.test.js +21 -0
- package/src/__tests__/utils.js +38 -0
- package/src/__tests__/utils.test.js +151 -0
- package/src/axis/__tests__/__snapshots__/arrow.test.jsx.snap +33 -0
- package/src/axis/__tests__/__snapshots__/axes.test.jsx.snap +122 -0
- package/src/axis/__tests__/arrow.test.jsx +39 -0
- package/src/axis/__tests__/axes.test.jsx +220 -0
- package/src/axis/arrow.jsx +62 -0
- package/src/axis/axes.jsx +307 -0
- package/src/axis/index.js +2 -0
- package/src/bg.jsx +96 -0
- package/src/container/actions.js +8 -0
- package/src/container/index.jsx +86 -0
- package/src/container/marks.js +14 -0
- package/src/container/middleware.js +7 -0
- package/src/container/reducer.js +5 -0
- package/src/coordinates-label.jsx +73 -0
- package/src/graph-with-controls.jsx +263 -0
- package/src/graph.jsx +334 -0
- package/src/grid-setup.jsx +427 -0
- package/src/grid.jsx +135 -0
- package/src/index.js +7 -0
- package/src/labels.jsx +214 -0
- package/src/mark-label.jsx +136 -0
- package/src/toggle-bar.jsx +242 -0
- package/src/tool-menu.jsx +294 -0
- package/src/tools/index.js +8 -0
- package/src/tools/line/__tests__/__snapshots__/component.test.jsx.snap +20 -0
- package/src/tools/line/__tests__/component.test.jsx +36 -0
- package/src/tools/line/component.jsx +77 -0
- package/src/tools/line/index.js +4 -0
- package/src/tools/polygon/__tests__/__snapshots__/component.test.jsx.snap +94 -0
- package/src/tools/polygon/__tests__/__snapshots__/line.test.jsx.snap +44 -0
- package/src/tools/polygon/__tests__/__snapshots__/polygon.test.jsx.snap +53 -0
- package/src/tools/polygon/__tests__/component.test.jsx +214 -0
- package/src/tools/polygon/__tests__/index.test.js +65 -0
- package/src/tools/polygon/__tests__/line.test.jsx +25 -0
- package/src/tools/polygon/__tests__/polygon.test.jsx +44 -0
- package/src/tools/polygon/component.jsx +336 -0
- package/src/tools/polygon/index.js +52 -0
- package/src/tools/polygon/line.jsx +78 -0
- package/src/tools/polygon/polygon.jsx +101 -0
- package/src/tools/shared/__tests__/__snapshots__/arrow-head.test.jsx.snap +32 -0
- package/src/tools/shared/__tests__/arrow-head.test.jsx +34 -0
- package/src/tools/shared/arrow-head.jsx +46 -0
- package/src/tools/shared/line/__tests__/__snapshots__/index.test.jsx.snap +360 -0
- package/src/tools/shared/line/__tests__/__snapshots__/line-path.test.jsx.snap +57 -0
- package/src/tools/shared/line/__tests__/__snapshots__/with-root-edge.test.jsx.snap +63 -0
- package/src/tools/shared/line/__tests__/index.test.jsx +247 -0
- package/src/tools/shared/line/__tests__/line-path.test.jsx +53 -0
- package/src/tools/shared/line/__tests__/with-root-edge.test.jsx +73 -0
- package/src/tools/shared/line/index.jsx +473 -0
- package/src/tools/shared/line/line-path.jsx +88 -0
- package/src/tools/shared/line/with-root-edge.jsx +97 -0
- package/src/tools/shared/point/__tests__/__snapshots__/arrow-point.test.jsx.snap +55 -0
- package/src/tools/shared/point/__tests__/__snapshots__/base-point.test.jsx.snap +43 -0
- package/src/tools/shared/point/__tests__/arrow-point.test.jsx +87 -0
- package/src/tools/shared/point/__tests__/base-point.test.jsx +84 -0
- package/src/tools/shared/point/arrow-point.jsx +60 -0
- package/src/tools/shared/point/arrow.jsx +40 -0
- package/src/tools/shared/point/base-point.jsx +86 -0
- package/src/tools/shared/point/index.jsx +60 -0
- package/src/tools/shared/styles.js +20 -0
- package/src/tools/shared/types.js +8 -0
- package/src/undo-redo.jsx +47 -0
- package/src/use-debounce.js +13 -0
- package/src/utils.js +234 -0
package/lib/axis/axes.js
ADDED
|
@@ -0,0 +1,415 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
|
|
3
|
+
var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
|
|
4
|
+
|
|
5
|
+
Object.defineProperty(exports, "__esModule", {
|
|
6
|
+
value: true
|
|
7
|
+
});
|
|
8
|
+
exports.sharedValues = exports.firstNegativeValue = exports["default"] = exports.RawYAxis = exports.RawXAxis = exports.AxisPropTypes = void 0;
|
|
9
|
+
|
|
10
|
+
var _extends2 = _interopRequireDefault(require("@babel/runtime/helpers/extends"));
|
|
11
|
+
|
|
12
|
+
var _assertThisInitialized2 = _interopRequireDefault(require("@babel/runtime/helpers/assertThisInitialized"));
|
|
13
|
+
|
|
14
|
+
var _toConsumableArray2 = _interopRequireDefault(require("@babel/runtime/helpers/toConsumableArray"));
|
|
15
|
+
|
|
16
|
+
var _classCallCheck2 = _interopRequireDefault(require("@babel/runtime/helpers/classCallCheck"));
|
|
17
|
+
|
|
18
|
+
var _createClass2 = _interopRequireDefault(require("@babel/runtime/helpers/createClass"));
|
|
19
|
+
|
|
20
|
+
var _inherits2 = _interopRequireDefault(require("@babel/runtime/helpers/inherits"));
|
|
21
|
+
|
|
22
|
+
var _possibleConstructorReturn2 = _interopRequireDefault(require("@babel/runtime/helpers/possibleConstructorReturn"));
|
|
23
|
+
|
|
24
|
+
var _getPrototypeOf2 = _interopRequireDefault(require("@babel/runtime/helpers/getPrototypeOf"));
|
|
25
|
+
|
|
26
|
+
var _defineProperty2 = _interopRequireDefault(require("@babel/runtime/helpers/defineProperty"));
|
|
27
|
+
|
|
28
|
+
var _react = _interopRequireDefault(require("react"));
|
|
29
|
+
|
|
30
|
+
var _axis = require("@vx/axis");
|
|
31
|
+
|
|
32
|
+
var _plot = require("@pie-lib/plot");
|
|
33
|
+
|
|
34
|
+
var _propTypes = _interopRequireDefault(require("prop-types"));
|
|
35
|
+
|
|
36
|
+
var _arrow = _interopRequireDefault(require("./arrow"));
|
|
37
|
+
|
|
38
|
+
var _core = require("@material-ui/core");
|
|
39
|
+
|
|
40
|
+
var _utils = require("../utils");
|
|
41
|
+
|
|
42
|
+
var _renderUi = require("@pie-lib/render-ui");
|
|
43
|
+
|
|
44
|
+
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; }
|
|
45
|
+
|
|
46
|
+
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) { (0, _defineProperty2["default"])(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; }
|
|
47
|
+
|
|
48
|
+
function _createSuper(Derived) { var hasNativeReflectConstruct = _isNativeReflectConstruct(); return function _createSuperInternal() { var Super = (0, _getPrototypeOf2["default"])(Derived), result; if (hasNativeReflectConstruct) { var NewTarget = (0, _getPrototypeOf2["default"])(this).constructor; result = Reflect.construct(Super, arguments, NewTarget); } else { result = Super.apply(this, arguments); } return (0, _possibleConstructorReturn2["default"])(this, result); }; }
|
|
49
|
+
|
|
50
|
+
function _isNativeReflectConstruct() { if (typeof Reflect === "undefined" || !Reflect.construct) return false; if (Reflect.construct.sham) return false; if (typeof Proxy === "function") return true; try { Boolean.prototype.valueOf.call(Reflect.construct(Boolean, [], function () {})); return true; } catch (e) { return false; } }
|
|
51
|
+
|
|
52
|
+
var AxisPropTypes = {
|
|
53
|
+
includeArrows: _propTypes["default"].object,
|
|
54
|
+
graphProps: _propTypes["default"].object
|
|
55
|
+
};
|
|
56
|
+
exports.AxisPropTypes = AxisPropTypes;
|
|
57
|
+
var AxisDefaultProps = {
|
|
58
|
+
includeArrows: {
|
|
59
|
+
left: true,
|
|
60
|
+
right: true,
|
|
61
|
+
up: true,
|
|
62
|
+
down: true
|
|
63
|
+
}
|
|
64
|
+
};
|
|
65
|
+
|
|
66
|
+
var axisStyles = function axisStyles(theme) {
|
|
67
|
+
return {
|
|
68
|
+
line: {
|
|
69
|
+
stroke: '#8a92c0',
|
|
70
|
+
strokeWidth: 4
|
|
71
|
+
},
|
|
72
|
+
arrow: {
|
|
73
|
+
fill: '#8a92c0'
|
|
74
|
+
},
|
|
75
|
+
tick: {
|
|
76
|
+
fill: _renderUi.color.defaults.BLACK,
|
|
77
|
+
'& > line': {
|
|
78
|
+
stroke: '#8a92c0'
|
|
79
|
+
}
|
|
80
|
+
},
|
|
81
|
+
labelFontSize: {
|
|
82
|
+
fontSize: theme.typography.fontSize
|
|
83
|
+
},
|
|
84
|
+
axisLabelHolder: {
|
|
85
|
+
padding: 0,
|
|
86
|
+
margin: 0,
|
|
87
|
+
textAlign: 'center',
|
|
88
|
+
'* > *': {
|
|
89
|
+
margin: 0,
|
|
90
|
+
padding: 0
|
|
91
|
+
},
|
|
92
|
+
fontSize: theme.typography.fontSize
|
|
93
|
+
}
|
|
94
|
+
};
|
|
95
|
+
};
|
|
96
|
+
|
|
97
|
+
var tickLabelStyles = {
|
|
98
|
+
fontFamily: 'Roboto',
|
|
99
|
+
fontSize: '14px',
|
|
100
|
+
cursor: 'inherit'
|
|
101
|
+
};
|
|
102
|
+
|
|
103
|
+
var sharedValues = function sharedValues(firstNegativeX, firstNegativeY, distanceFromOriginToFirstNegativeX, distanceFromOriginToFirstNegativeY, deltaAllowance, dy) {
|
|
104
|
+
var result = [];
|
|
105
|
+
|
|
106
|
+
if (firstNegativeX === firstNegativeY && distanceFromOriginToFirstNegativeX - deltaAllowance < distanceFromOriginToFirstNegativeY && distanceFromOriginToFirstNegativeY < distanceFromOriginToFirstNegativeX + deltaAllowance && distanceFromOriginToFirstNegativeX - deltaAllowance < dy && dy < distanceFromOriginToFirstNegativeX + deltaAllowance) {
|
|
107
|
+
result.push(firstNegativeX);
|
|
108
|
+
}
|
|
109
|
+
|
|
110
|
+
return result;
|
|
111
|
+
};
|
|
112
|
+
|
|
113
|
+
exports.sharedValues = sharedValues;
|
|
114
|
+
|
|
115
|
+
var firstNegativeValue = function firstNegativeValue(interval) {
|
|
116
|
+
return (interval || []).find(function (element) {
|
|
117
|
+
return element < 0;
|
|
118
|
+
});
|
|
119
|
+
};
|
|
120
|
+
|
|
121
|
+
exports.firstNegativeValue = firstNegativeValue;
|
|
122
|
+
|
|
123
|
+
var RawXAxis = /*#__PURE__*/function (_React$Component) {
|
|
124
|
+
(0, _inherits2["default"])(RawXAxis, _React$Component);
|
|
125
|
+
|
|
126
|
+
var _super = _createSuper(RawXAxis);
|
|
127
|
+
|
|
128
|
+
function RawXAxis() {
|
|
129
|
+
(0, _classCallCheck2["default"])(this, RawXAxis);
|
|
130
|
+
return _super.apply(this, arguments);
|
|
131
|
+
}
|
|
132
|
+
|
|
133
|
+
(0, _createClass2["default"])(RawXAxis, [{
|
|
134
|
+
key: "render",
|
|
135
|
+
value: function render() {
|
|
136
|
+
var _this$props = this.props,
|
|
137
|
+
includeArrows = _this$props.includeArrows,
|
|
138
|
+
classes = _this$props.classes,
|
|
139
|
+
graphProps = _this$props.graphProps,
|
|
140
|
+
columnTicksValues = _this$props.columnTicksValues,
|
|
141
|
+
skipValues = _this$props.skipValues,
|
|
142
|
+
distanceFromOriginToFirstNegativeY = _this$props.distanceFromOriginToFirstNegativeY,
|
|
143
|
+
dy = _this$props.dy;
|
|
144
|
+
|
|
145
|
+
var _ref = graphProps || {},
|
|
146
|
+
scale = _ref.scale,
|
|
147
|
+
domain = _ref.domain,
|
|
148
|
+
size = _ref.size,
|
|
149
|
+
range = _ref.range; // Having 0 as a number in columnTicksValues does not make 0 to show up
|
|
150
|
+
// so we use this trick, by defining it as a string:
|
|
151
|
+
|
|
152
|
+
|
|
153
|
+
var tickValues = (domain.labelStep || range.labelStep) && domain.min <= 0 ? ['0'].concat((0, _toConsumableArray2["default"])(columnTicksValues)) : columnTicksValues; // However, the '0' has to be displayed only if other tick labels (y-axis or x-axis) are displayed
|
|
154
|
+
|
|
155
|
+
var labelProps = function labelProps(label) {
|
|
156
|
+
var y = skipValues && skipValues[0] === label ? distanceFromOriginToFirstNegativeY + 4 : dy;
|
|
157
|
+
return _objectSpread(_objectSpread({}, tickLabelStyles), {}, {
|
|
158
|
+
textAnchor: 'middle',
|
|
159
|
+
y: y,
|
|
160
|
+
dx: label === '0' ? -10 : 0,
|
|
161
|
+
dy: label === '0' ? -7 : 0
|
|
162
|
+
});
|
|
163
|
+
};
|
|
164
|
+
|
|
165
|
+
var necessaryRows = (0, _utils.countWords)(domain.axisLabel);
|
|
166
|
+
var longestWord = (0, _utils.findLongestWord)(domain.axisLabel);
|
|
167
|
+
var necessaryWidth = (0, _utils.amountToIncreaseWidth)(longestWord) + 2;
|
|
168
|
+
return /*#__PURE__*/_react["default"].createElement(_react["default"].Fragment, null, /*#__PURE__*/_react["default"].createElement(_axis.Axis, {
|
|
169
|
+
axisLineClassName: classes.line,
|
|
170
|
+
scale: scale.x,
|
|
171
|
+
top: scale.y(0),
|
|
172
|
+
left: 0,
|
|
173
|
+
label: domain.label,
|
|
174
|
+
rangePadding: 8,
|
|
175
|
+
tickClassName: classes.tick,
|
|
176
|
+
tickFormat: function tickFormat(value) {
|
|
177
|
+
return value;
|
|
178
|
+
},
|
|
179
|
+
tickLabelProps: labelProps,
|
|
180
|
+
tickValues: tickValues
|
|
181
|
+
}), includeArrows && includeArrows.left && /*#__PURE__*/_react["default"].createElement(_arrow["default"], {
|
|
182
|
+
direction: "left",
|
|
183
|
+
x: domain.min,
|
|
184
|
+
y: 0,
|
|
185
|
+
className: classes.arrow,
|
|
186
|
+
scale: scale
|
|
187
|
+
}), includeArrows && includeArrows.right && /*#__PURE__*/_react["default"].createElement(_arrow["default"], {
|
|
188
|
+
direction: "right",
|
|
189
|
+
x: domain.max,
|
|
190
|
+
y: 0,
|
|
191
|
+
className: classes.arrow,
|
|
192
|
+
scale: scale
|
|
193
|
+
}), domain.axisLabel && /*#__PURE__*/_react["default"].createElement("foreignObject", {
|
|
194
|
+
x: size.width + 17,
|
|
195
|
+
y: scale.y(0) - 9,
|
|
196
|
+
width: necessaryWidth,
|
|
197
|
+
height: 20 * necessaryRows
|
|
198
|
+
}, /*#__PURE__*/_react["default"].createElement("div", {
|
|
199
|
+
dangerouslySetInnerHTML: {
|
|
200
|
+
__html: domain.axisLabel
|
|
201
|
+
},
|
|
202
|
+
className: classes.labelFontSize
|
|
203
|
+
})));
|
|
204
|
+
}
|
|
205
|
+
}]);
|
|
206
|
+
return RawXAxis;
|
|
207
|
+
}(_react["default"].Component);
|
|
208
|
+
|
|
209
|
+
exports.RawXAxis = RawXAxis;
|
|
210
|
+
(0, _defineProperty2["default"])(RawXAxis, "propTypes", _objectSpread(_objectSpread({}, AxisPropTypes), {}, {
|
|
211
|
+
classes: _propTypes["default"].object,
|
|
212
|
+
graphProps: _plot.types.GraphPropsType.isRequired
|
|
213
|
+
}));
|
|
214
|
+
(0, _defineProperty2["default"])(RawXAxis, "defaultProps", AxisDefaultProps);
|
|
215
|
+
var XAxis = (0, _core.withStyles)(axisStyles)(RawXAxis);
|
|
216
|
+
|
|
217
|
+
var RawYAxis = /*#__PURE__*/function (_React$Component2) {
|
|
218
|
+
(0, _inherits2["default"])(RawYAxis, _React$Component2);
|
|
219
|
+
|
|
220
|
+
var _super2 = _createSuper(RawYAxis);
|
|
221
|
+
|
|
222
|
+
function RawYAxis() {
|
|
223
|
+
(0, _classCallCheck2["default"])(this, RawYAxis);
|
|
224
|
+
return _super2.apply(this, arguments);
|
|
225
|
+
}
|
|
226
|
+
|
|
227
|
+
(0, _createClass2["default"])(RawYAxis, [{
|
|
228
|
+
key: "render",
|
|
229
|
+
value: function render() {
|
|
230
|
+
var _this$props2 = this.props,
|
|
231
|
+
classes = _this$props2.classes,
|
|
232
|
+
includeArrows = _this$props2.includeArrows,
|
|
233
|
+
graphProps = _this$props2.graphProps,
|
|
234
|
+
skipValues = _this$props2.skipValues,
|
|
235
|
+
rowTickValues = _this$props2.rowTickValues;
|
|
236
|
+
|
|
237
|
+
var _ref2 = graphProps || {},
|
|
238
|
+
scale = _ref2.scale,
|
|
239
|
+
range = _ref2.range,
|
|
240
|
+
size = _ref2.size;
|
|
241
|
+
|
|
242
|
+
var necessaryWidth = range.axisLabel ? (0, _utils.amountToIncreaseWidth)(range.axisLabel.length) : 0;
|
|
243
|
+
|
|
244
|
+
var customTickFormat = function customTickFormat(value) {
|
|
245
|
+
return skipValues && skipValues.indexOf(value) >= 0 ? '' : value;
|
|
246
|
+
};
|
|
247
|
+
|
|
248
|
+
return /*#__PURE__*/_react["default"].createElement(_react["default"].Fragment, null, /*#__PURE__*/_react["default"].createElement(_axis.Axis, {
|
|
249
|
+
axisLineClassName: classes.line,
|
|
250
|
+
orientation: 'left',
|
|
251
|
+
scale: scale.y,
|
|
252
|
+
top: 0,
|
|
253
|
+
height: size.height,
|
|
254
|
+
left: scale.x(0),
|
|
255
|
+
label: range.label,
|
|
256
|
+
labelProps: {
|
|
257
|
+
'data-pie-readable': false
|
|
258
|
+
},
|
|
259
|
+
rangePadding: 8,
|
|
260
|
+
tickLength: 10,
|
|
261
|
+
tickClassName: classes.tick,
|
|
262
|
+
tickFormat: customTickFormat,
|
|
263
|
+
tickLabelProps: function tickLabelProps(value) {
|
|
264
|
+
var digits = value.toLocaleString().replace(/[.-]/g, '').length || 1;
|
|
265
|
+
return _objectSpread(_objectSpread({}, tickLabelStyles), {}, {
|
|
266
|
+
dy: 4,
|
|
267
|
+
dx: -10 - digits * 9,
|
|
268
|
+
'data-pie-readable': false
|
|
269
|
+
});
|
|
270
|
+
},
|
|
271
|
+
hideZero: true,
|
|
272
|
+
tickTextAnchor: 'bottom',
|
|
273
|
+
tickValues: rowTickValues
|
|
274
|
+
}), includeArrows && includeArrows.down && /*#__PURE__*/_react["default"].createElement(_arrow["default"], {
|
|
275
|
+
direction: "down",
|
|
276
|
+
x: 0,
|
|
277
|
+
y: range.min,
|
|
278
|
+
className: classes.arrow,
|
|
279
|
+
scale: scale
|
|
280
|
+
}), includeArrows && includeArrows.up && /*#__PURE__*/_react["default"].createElement(_arrow["default"], {
|
|
281
|
+
direction: "up",
|
|
282
|
+
x: 0,
|
|
283
|
+
y: range.max,
|
|
284
|
+
className: classes.arrow,
|
|
285
|
+
scale: scale
|
|
286
|
+
}), range.axisLabel && /*#__PURE__*/_react["default"].createElement("foreignObject", {
|
|
287
|
+
x: scale.x(0) - necessaryWidth / 2,
|
|
288
|
+
y: -33,
|
|
289
|
+
width: necessaryWidth,
|
|
290
|
+
height: "20"
|
|
291
|
+
}, /*#__PURE__*/_react["default"].createElement(_renderUi.Readable, {
|
|
292
|
+
"false": true
|
|
293
|
+
}, /*#__PURE__*/_react["default"].createElement("div", {
|
|
294
|
+
dangerouslySetInnerHTML: {
|
|
295
|
+
__html: range.axisLabel
|
|
296
|
+
},
|
|
297
|
+
className: classes.axisLabelHolder
|
|
298
|
+
}))));
|
|
299
|
+
}
|
|
300
|
+
}]);
|
|
301
|
+
return RawYAxis;
|
|
302
|
+
}(_react["default"].Component);
|
|
303
|
+
|
|
304
|
+
exports.RawYAxis = RawYAxis;
|
|
305
|
+
(0, _defineProperty2["default"])(RawYAxis, "propTypes", _objectSpread(_objectSpread({}, AxisPropTypes), {}, {
|
|
306
|
+
graphProps: _plot.types.GraphPropsType.isRequired
|
|
307
|
+
}));
|
|
308
|
+
(0, _defineProperty2["default"])(RawYAxis, "defaultProps", AxisDefaultProps);
|
|
309
|
+
var YAxis = (0, _core.withStyles)(axisStyles)(RawYAxis);
|
|
310
|
+
|
|
311
|
+
var Axes = /*#__PURE__*/function (_React$Component3) {
|
|
312
|
+
(0, _inherits2["default"])(Axes, _React$Component3);
|
|
313
|
+
|
|
314
|
+
var _super3 = _createSuper(Axes);
|
|
315
|
+
|
|
316
|
+
function Axes() {
|
|
317
|
+
var _this;
|
|
318
|
+
|
|
319
|
+
(0, _classCallCheck2["default"])(this, Axes);
|
|
320
|
+
|
|
321
|
+
for (var _len = arguments.length, args = new Array(_len), _key = 0; _key < _len; _key++) {
|
|
322
|
+
args[_key] = arguments[_key];
|
|
323
|
+
}
|
|
324
|
+
|
|
325
|
+
_this = _super3.call.apply(_super3, [this].concat(args));
|
|
326
|
+
(0, _defineProperty2["default"])((0, _assertThisInitialized2["default"])(_this), "xValues", function () {
|
|
327
|
+
var graphProps = _this.props.graphProps;
|
|
328
|
+
|
|
329
|
+
var _ref3 = graphProps || {},
|
|
330
|
+
scale = _ref3.scale,
|
|
331
|
+
domain = _ref3.domain;
|
|
332
|
+
|
|
333
|
+
if (!domain || !scale) {
|
|
334
|
+
return;
|
|
335
|
+
}
|
|
336
|
+
|
|
337
|
+
var ticks = (0, _utils.getTickValues)(_objectSpread(_objectSpread({}, domain), {}, {
|
|
338
|
+
step: domain.labelStep
|
|
339
|
+
}));
|
|
340
|
+
var negative = firstNegativeValue(ticks);
|
|
341
|
+
return {
|
|
342
|
+
columnTicksValues: ticks,
|
|
343
|
+
firstNegativeX: negative,
|
|
344
|
+
distanceFromOriginToFirstNegativeX: Math.abs(scale.y(0) - scale.y(negative))
|
|
345
|
+
};
|
|
346
|
+
});
|
|
347
|
+
(0, _defineProperty2["default"])((0, _assertThisInitialized2["default"])(_this), "yValues", function () {
|
|
348
|
+
var graphProps = _this.props.graphProps;
|
|
349
|
+
|
|
350
|
+
var _ref4 = graphProps || {},
|
|
351
|
+
scale = _ref4.scale,
|
|
352
|
+
range = _ref4.range;
|
|
353
|
+
|
|
354
|
+
if (!range || !scale) {
|
|
355
|
+
return;
|
|
356
|
+
}
|
|
357
|
+
|
|
358
|
+
var ticks = (0, _utils.getTickValues)(_objectSpread(_objectSpread({}, range), {}, {
|
|
359
|
+
step: range.labelStep
|
|
360
|
+
}));
|
|
361
|
+
var negative = firstNegativeValue(ticks);
|
|
362
|
+
return {
|
|
363
|
+
rowTickValues: ticks,
|
|
364
|
+
firstNegativeY: negative,
|
|
365
|
+
distanceFromOriginToFirstNegativeY: Math.abs(scale.x(0) - scale.x(negative))
|
|
366
|
+
};
|
|
367
|
+
});
|
|
368
|
+
return _this;
|
|
369
|
+
}
|
|
370
|
+
|
|
371
|
+
(0, _createClass2["default"])(Axes, [{
|
|
372
|
+
key: "render",
|
|
373
|
+
value: function render() {
|
|
374
|
+
var graphProps = this.props.graphProps;
|
|
375
|
+
|
|
376
|
+
var _ref5 = graphProps || {},
|
|
377
|
+
domain = _ref5.domain,
|
|
378
|
+
range = _ref5.range;
|
|
379
|
+
|
|
380
|
+
var _this$xValues = this.xValues(),
|
|
381
|
+
columnTicksValues = _this$xValues.columnTicksValues,
|
|
382
|
+
firstNegativeX = _this$xValues.firstNegativeX,
|
|
383
|
+
distanceFromOriginToFirstNegativeX = _this$xValues.distanceFromOriginToFirstNegativeX;
|
|
384
|
+
|
|
385
|
+
var _this$yValues = this.yValues(),
|
|
386
|
+
rowTickValues = _this$yValues.rowTickValues,
|
|
387
|
+
firstNegativeY = _this$yValues.firstNegativeY,
|
|
388
|
+
distanceFromOriginToFirstNegativeY = _this$yValues.distanceFromOriginToFirstNegativeY;
|
|
389
|
+
|
|
390
|
+
var deltaAllowance = 6;
|
|
391
|
+
var dy = 25;
|
|
392
|
+
var skipValues = sharedValues(firstNegativeX, firstNegativeY, distanceFromOriginToFirstNegativeX, distanceFromOriginToFirstNegativeY, deltaAllowance, dy); // each axis has to be displayed only if the domain & range include it
|
|
393
|
+
|
|
394
|
+
return /*#__PURE__*/_react["default"].createElement(_react["default"].Fragment, null, range.min <= 0 ? /*#__PURE__*/_react["default"].createElement(XAxis, (0, _extends2["default"])({}, this.props, {
|
|
395
|
+
skipValues: skipValues,
|
|
396
|
+
columnTicksValues: columnTicksValues,
|
|
397
|
+
distanceFromOriginToFirstNegativeY: distanceFromOriginToFirstNegativeY,
|
|
398
|
+
dy: dy
|
|
399
|
+
})) : null, domain.min <= 0 ? /*#__PURE__*/_react["default"].createElement(YAxis, (0, _extends2["default"])({}, this.props, {
|
|
400
|
+
skipValues: skipValues,
|
|
401
|
+
rowTickValues: rowTickValues,
|
|
402
|
+
distanceFromOriginToFirstNegativeX: distanceFromOriginToFirstNegativeX
|
|
403
|
+
})) : null);
|
|
404
|
+
}
|
|
405
|
+
}]);
|
|
406
|
+
return Axes;
|
|
407
|
+
}(_react["default"].Component);
|
|
408
|
+
|
|
409
|
+
exports["default"] = Axes;
|
|
410
|
+
(0, _defineProperty2["default"])(Axes, "propTypes", _objectSpread(_objectSpread({}, AxisPropTypes), {}, {
|
|
411
|
+
classes: _propTypes["default"].object,
|
|
412
|
+
graphProps: _plot.types.GraphPropsType.isRequired
|
|
413
|
+
}));
|
|
414
|
+
(0, _defineProperty2["default"])(Axes, "defaultProps", AxisDefaultProps);
|
|
415
|
+
//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy9heGlzL2F4ZXMuanN4Il0sIm5hbWVzIjpbIkF4aXNQcm9wVHlwZXMiLCJpbmNsdWRlQXJyb3dzIiwiUHJvcFR5cGVzIiwib2JqZWN0IiwiZ3JhcGhQcm9wcyIsIkF4aXNEZWZhdWx0UHJvcHMiLCJsZWZ0IiwicmlnaHQiLCJ1cCIsImRvd24iLCJheGlzU3R5bGVzIiwidGhlbWUiLCJsaW5lIiwic3Ryb2tlIiwic3Ryb2tlV2lkdGgiLCJhcnJvdyIsImZpbGwiLCJ0aWNrIiwiY29sb3IiLCJkZWZhdWx0cyIsIkJMQUNLIiwibGFiZWxGb250U2l6ZSIsImZvbnRTaXplIiwidHlwb2dyYXBoeSIsImF4aXNMYWJlbEhvbGRlciIsInBhZGRpbmciLCJtYXJnaW4iLCJ0ZXh0QWxpZ24iLCJ0aWNrTGFiZWxTdHlsZXMiLCJmb250RmFtaWx5IiwiY3Vyc29yIiwic2hhcmVkVmFsdWVzIiwiZmlyc3ROZWdhdGl2ZVgiLCJmaXJzdE5lZ2F0aXZlWSIsImRpc3RhbmNlRnJvbU9yaWdpblRvRmlyc3ROZWdhdGl2ZVgiLCJkaXN0YW5jZUZyb21PcmlnaW5Ub0ZpcnN0TmVnYXRpdmVZIiwiZGVsdGFBbGxvd2FuY2UiLCJkeSIsInJlc3VsdCIsInB1c2giLCJmaXJzdE5lZ2F0aXZlVmFsdWUiLCJpbnRlcnZhbCIsImZpbmQiLCJlbGVtZW50IiwiUmF3WEF4aXMiLCJwcm9wcyIsImNsYXNzZXMiLCJjb2x1bW5UaWNrc1ZhbHVlcyIsInNraXBWYWx1ZXMiLCJzY2FsZSIsImRvbWFpbiIsInNpemUiLCJyYW5nZSIsInRpY2tWYWx1ZXMiLCJsYWJlbFN0ZXAiLCJtaW4iLCJsYWJlbFByb3BzIiwibGFiZWwiLCJ5IiwidGV4dEFuY2hvciIsImR4IiwibmVjZXNzYXJ5Um93cyIsImF4aXNMYWJlbCIsImxvbmdlc3RXb3JkIiwibmVjZXNzYXJ5V2lkdGgiLCJ4IiwidmFsdWUiLCJtYXgiLCJ3aWR0aCIsIl9faHRtbCIsIlJlYWN0IiwiQ29tcG9uZW50IiwidHlwZXMiLCJHcmFwaFByb3BzVHlwZSIsImlzUmVxdWlyZWQiLCJYQXhpcyIsIlJhd1lBeGlzIiwicm93VGlja1ZhbHVlcyIsImxlbmd0aCIsImN1c3RvbVRpY2tGb3JtYXQiLCJpbmRleE9mIiwiaGVpZ2h0IiwiZGlnaXRzIiwidG9Mb2NhbGVTdHJpbmciLCJyZXBsYWNlIiwiWUF4aXMiLCJBeGVzIiwidGlja3MiLCJzdGVwIiwibmVnYXRpdmUiLCJNYXRoIiwiYWJzIiwieFZhbHVlcyIsInlWYWx1ZXMiXSwibWFwcGluZ3MiOiI7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7OztBQUFBOztBQUNBOztBQUNBOztBQUNBOztBQUNBOztBQUNBOztBQUNBOztBQUNBOzs7Ozs7Ozs7O0FBRU8sSUFBTUEsYUFBYSxHQUFHO0FBQzNCQyxFQUFBQSxhQUFhLEVBQUVDLHNCQUFVQyxNQURFO0FBRTNCQyxFQUFBQSxVQUFVLEVBQUVGLHNCQUFVQztBQUZLLENBQXRCOztBQUtQLElBQU1FLGdCQUFnQixHQUFHO0FBQ3ZCSixFQUFBQSxhQUFhLEVBQUU7QUFDYkssSUFBQUEsSUFBSSxFQUFFLElBRE87QUFFYkMsSUFBQUEsS0FBSyxFQUFFLElBRk07QUFHYkMsSUFBQUEsRUFBRSxFQUFFLElBSFM7QUFJYkMsSUFBQUEsSUFBSSxFQUFFO0FBSk87QUFEUSxDQUF6Qjs7QUFTQSxJQUFNQyxVQUFVLEdBQUcsU0FBYkEsVUFBYSxDQUFDQyxLQUFEO0FBQUEsU0FBWTtBQUM3QkMsSUFBQUEsSUFBSSxFQUFFO0FBQ0pDLE1BQUFBLE1BQU0sRUFBRSxTQURKO0FBRUpDLE1BQUFBLFdBQVcsRUFBRTtBQUZULEtBRHVCO0FBSzdCQyxJQUFBQSxLQUFLLEVBQUU7QUFDTEMsTUFBQUEsSUFBSSxFQUFFO0FBREQsS0FMc0I7QUFRN0JDLElBQUFBLElBQUksRUFBRTtBQUNKRCxNQUFBQSxJQUFJLEVBQUVFLGdCQUFNQyxRQUFOLENBQWVDLEtBRGpCO0FBRUosa0JBQVk7QUFDVlAsUUFBQUEsTUFBTSxFQUFFO0FBREU7QUFGUixLQVJ1QjtBQWM3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OztpQ0FKaEJZLEksa0JBTUdqRixnQiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCBSZWFjdCBmcm9tICdyZWFjdCc7XG5pbXBvcnQgeyBBeGlzIH0gZnJvbSAnQHZ4L2F4aXMnO1xuaW1wb3J0IHsgdHlwZXMgfSBmcm9tICdAcGllLWxpYi9wbG90JztcbmltcG9ydCBQcm9wVHlwZXMgZnJvbSAncHJvcC10eXBlcyc7XG5pbXBvcnQgQXJyb3cgZnJvbSAnLi9hcnJvdyc7XG5pbXBvcnQgeyB3aXRoU3R5bGVzIH0gZnJvbSAnQG1hdGVyaWFsLXVpL2NvcmUnO1xuaW1wb3J0IHsgY291bnRXb3JkcywgZmluZExvbmdlc3RXb3JkLCBhbW91bnRUb0luY3JlYXNlV2lkdGgsIGdldFRpY2tWYWx1ZXMgfSBmcm9tICcuLi91dGlscyc7XG5pbXBvcnQgeyBjb2xvciwgUmVhZGFibGUgfSBmcm9tICdAcGllLWxpYi9yZW5kZXItdWknO1xuXG5leHBvcnQgY29uc3QgQXhpc1Byb3BUeXBlcyA9IHtcbiAgaW5jbHVkZUFycm93czogUHJvcFR5cGVzLm9iamVjdCxcbiAgZ3JhcGhQcm9wczogUHJvcFR5cGVzLm9iamVjdCxcbn07XG5cbmNvbnN0IEF4aXNEZWZhdWx0UHJvcHMgPSB7XG4gIGluY2x1ZGVBcnJvd3M6IHtcbiAgICBsZWZ0OiB0cnVlLFxuICAgIHJpZ2h0OiB0cnVlLFxuICAgIHVwOiB0cnVlLFxuICAgIGRvd246IHRydWUsXG4gIH0sXG59O1xuXG5jb25zdCBheGlzU3R5bGVzID0gKHRoZW1lKSA9PiAoe1xuICBsaW5lOiB7XG4gICAgc3Ryb2tlOiAnIzhhOTJjMCcsXG4gICAgc3Ryb2tlV2lkdGg6IDQsXG4gIH0sXG4gIGFycm93OiB7XG4gICAgZmlsbDogJyM4YTkyYzAnLFxuICB9LFxuICB0aWNrOiB7XG4gICAgZmlsbDogY29sb3IuZGVmYXVsdHMuQkxBQ0ssXG4gICAgJyYgPiBsaW5lJzoge1xuICAgICAgc3Ryb2tlOiAnIzhhOTJjMCcsXG4gICAgfSxcbiAgfSxcbiAgbGFiZWxGb250U2l6ZToge1xuICAgIGZvbnRTaXplOiB0aGVtZS50eXBvZ3JhcGh5LmZvbnRTaXplLFxuICB9LFxuICBheGlzTGFiZWxIb2xkZXI6IHtcbiAgICBwYWRkaW5nOiAwLFxuICAgIG1hcmdpbjogMCxcbiAgICB0ZXh0QWxpZ246ICdjZW50ZXInLFxuICAgICcqID4gKic6IHtcbiAgICAgIG1hcmdpbjogMCxcbiAgICAgIHBhZGRpbmc6IDAsXG4gICAgfSxcbiAgICBmb250U2l6ZTogdGhlbWUudHlwb2dyYXBoeS5mb250U2l6ZSxcbiAgfSxcbn0pO1xuXG5jb25zdCB0aWNrTGFiZWxTdHlsZXMgPSB7XG4gIGZvbnRGYW1pbHk6ICdSb2JvdG8nLFxuICBmb250U2l6ZTogJzE0cHgnLFxuICBjdXJzb3I6ICdpbmhlcml0Jyxcbn07XG5cbmV4cG9ydCBjb25zdCBzaGFyZWRWYWx1ZXMgPSAoXG4gIGZpcnN0TmVnYXRpdmVYLFxuICBmaXJzdE5lZ2F0aXZlWSxcbiAgZGlzdGFuY2VGcm9tT3JpZ2luVG9GaXJzdE5lZ2F0aXZlWCxcbiAgZGlzdGFuY2VGcm9tT3JpZ2luVG9GaXJzdE5lZ2F0aXZlWSxcbiAgZGVsdGFBbGxvd2FuY2UsXG4gIGR5LFxuKSA9PiB7XG4gIGxldCByZXN1bHQgPSBbXTtcblxuICBpZiAoXG4gICAgZmlyc3ROZWdhdGl2ZVggPT09IGZpcnN0TmVnYXRpdmVZICYmXG4gICAgZGlzdGFuY2VGcm9tT3JpZ2luVG9GaXJzdE5lZ2F0aXZlWCAtIGRlbHRhQWxsb3dhbmNlIDwgZGlzdGFuY2VGcm9tT3JpZ2luVG9GaXJzdE5lZ2F0aXZlWSAmJlxuICAgIGRpc3RhbmNlRnJvbU9yaWdpblRvRmlyc3ROZWdhdGl2ZVkgPCBkaXN0YW5jZUZyb21PcmlnaW5Ub0ZpcnN0TmVnYXRpdmVYICsgZGVsdGFBbGxvd2FuY2UgJiZcbiAgICBkaXN0YW5jZUZyb21PcmlnaW5Ub0ZpcnN0TmVnYXRpdmVYIC0gZGVsdGFBbGxvd2FuY2UgPCBkeSAmJlxuICAgIGR5IDwgZGlzdGFuY2VGcm9tT3JpZ2luVG9GaXJzdE5lZ2F0aXZlWCArIGRlbHRhQWxsb3dhbmNlXG4gICkge1xuICAgIHJlc3VsdC5wdXNoKGZpcnN0TmVnYXRpdmVYKTtcbiAgfVxuXG4gIHJldHVybiByZXN1bHQ7XG59O1xuXG5leHBvcnQgY29uc3QgZmlyc3ROZWdhdGl2ZVZhbHVlID0gKGludGVydmFsKSA9PiAoaW50ZXJ2YWwgfHwgW10pLmZpbmQoKGVsZW1lbnQpID0+IGVsZW1lbnQgPCAwKTtcblxuZXhwb3J0IGNsYXNzIFJhd1hBeGlzIGV4dGVuZHMgUmVhY3QuQ29tcG9uZW50IHtcbiAgc3RhdGljIHByb3BUeXBlcyA9IHtcbiAgICAuLi5BeGlzUHJvcFR5cGVzLFxuICAgIGNsYXNzZXM6IFByb3BUeXBlcy5vYmplY3QsXG4gICAgZ3JhcGhQcm9wczogdHlwZXMuR3JhcGhQcm9wc1R5cGUuaXNSZXF1aXJlZCxcbiAgfTtcbiAgc3RhdGljIGRlZmF1bHRQcm9wcyA9IEF4aXNEZWZhdWx0UHJvcHM7XG5cbiAgcmVuZGVyKCkge1xuICAgIGNvbnN0IHtcbiAgICAgIGluY2x1ZGVBcnJvd3MsXG4gICAgICBjbGFzc2VzLFxuICAgICAgZ3JhcGhQcm9wcyxcbiAgICAgIGNvbHVtblRpY2tzVmFsdWVzLFxuICAgICAgc2tpcFZhbHVlcyxcbiAgICAgIGRpc3RhbmNlRnJvbU9yaWdpblRvRmlyc3ROZWdhdGl2ZVksXG4gICAgICBkeSxcbiAgICB9ID0gdGhpcy5wcm9wcztcbiAgICBjb25zdCB7IHNjYWxlLCBkb21haW4sIHNpemUsIHJhbmdlIH0gPSBncmFwaFByb3BzIHx8IHt9O1xuXG4gICAgLy8gSGF2aW5nIDAgYXMgYSBudW1iZXIgaW4gY29sdW1uVGlja3NWYWx1ZXMgZG9lcyBub3QgbWFrZSAwIHRvIHNob3cgdXBcbiAgICAvLyBzbyB3ZSB1c2UgdGhpcyB0cmljaywgYnkgZGVmaW5pbmcgaXQgYXMgYSBzdHJpbmc6XG4gICAgY29uc3QgdGlja1ZhbHVlcyA9XG4gICAgICAoZG9tYWluLmxhYmVsU3RlcCB8fCByYW5nZS5sYWJlbFN0ZXApICYmIGRvbWFpbi5taW4gPD0gMCA/IFsnMCcsIC4uLmNvbHVtblRpY2tzVmFsdWVzXSA6IGNvbHVtblRpY2tzVmFsdWVzO1xuICAgIC8vIEhvd2V2ZXIsIHRoZSAnMCcgaGFzIHRvIGJlIGRpc3BsYXllZCBvbmx5IGlmIG90aGVyIHRpY2sgbGFiZWxzICh5LWF4aXMgb3IgeC1heGlzKSBhcmUgZGlzcGxheWVkXG5cbiAgICBjb25zdCBsYWJlbFByb3BzID0gKGxhYmVsKSA9PiB7XG4gICAgICBjb25zdCB5ID0gc2tpcFZhbHVlcyAmJiBza2lwVmFsdWVzWzBdID09PSBsYWJlbCA/IGRpc3RhbmNlRnJvbU9yaWdpblRvRmlyc3ROZWdhdGl2ZVkgKyA0IDogZHk7XG5cbiAgICAgIHJldHVybiB7XG4gICAgICAgIC4uLnRpY2tMYWJlbFN0eWxlcyxcbiAgICAgICAgdGV4dEFuY2hvcjogJ21pZGRsZScsXG4gICAgICAgIHk6IHksXG4gICAgICAgIGR4OiBsYWJlbCA9PT0gJzAnID8gLTEwIDogMCxcbiAgICAgICAgZHk6IGxhYmVsID09PSAnMCcgPyAtNyA6IDAsXG4gICAgICB9O1xuICAgIH07XG5cbiAgICBjb25zdCBuZWNlc3NhcnlSb3dzID0gY291bnRXb3Jkcyhkb21haW4uYXhpc0xhYmVsKTtcbiAgICBjb25zdCBsb25nZXN0V29yZCA9IGZpbmRMb25nZXN0V29yZChkb21haW4uYXhpc0xhYmVsKTtcbiAgICBjb25zdCBuZWNlc3NhcnlXaWR0aCA9IGFtb3VudFRvSW5jcmVhc2VXaWR0aChsb25nZXN0V29yZCkgKyAyO1xuXG4gICAgcmV0dXJuIChcbiAgICAgIDxSZWFjdC5GcmFnbWVudD5cbiAgICAgICAgPEF4aXNcbiAgICAgICAgICBheGlzTGluZUNsYXNzTmFtZT17Y2xhc3Nlcy5saW5lfVxuICAgICAgICAgIHNjYWxlPXtzY2FsZS54fVxuICAgICAgICAgIHRvcD17c2NhbGUueSgwKX1cbiAgICAgICAgICBsZWZ0PXswfVxuICAgICAgICAgIGxhYmVsPXtkb21haW4ubGFiZWx9XG4gICAgICAgICAgcmFuZ2VQYWRkaW5nPXs4fVxuICAgICAgICAgIHRpY2tDbGFzc05hbWU9e2NsYXNzZXMudGlja31cbiAgICAgICAgICB0aWNrRm9ybWF0PXsodmFsdWUpID0+IHZhbHVlfVxuICAgICAgICAgIHRpY2tMYWJlbFByb3BzPXtsYWJlbFByb3BzfVxuICAgICAgICAgIHRpY2tWYWx1ZXM9e3RpY2tWYWx1ZXN9XG4gICAgICAgIC8+XG4gICAgICAgIHtpbmNsdWRlQXJyb3dzICYmIGluY2x1ZGVBcnJvd3MubGVmdCAmJiAoXG4gICAgICAgICAgPEFycm93IGRpcmVjdGlvbj1cImxlZnRcIiB4PXtkb21haW4ubWlufSB5PXswfSBjbGFzc05hbWU9e2NsYXNzZXMuYXJyb3d9IHNjYWxlPXtzY2FsZX0gLz5cbiAgICAgICAgKX1cbiAgICAgICAge2luY2x1ZGVBcnJvd3MgJiYgaW5jbHVkZUFycm93cy5yaWdodCAmJiAoXG4gICAgICAgICAgPEFycm93IGRpcmVjdGlvbj1cInJpZ2h0XCIgeD17ZG9tYWluLm1heH0geT17MH0gY2xhc3NOYW1lPXtjbGFzc2VzLmFycm93fSBzY2FsZT17c2NhbGV9IC8+XG4gICAgICAgICl9XG4gICAgICAgIHtkb21haW4uYXhpc0xhYmVsICYmIChcbiAgICAgICAgICA8Zm9yZWlnbk9iamVjdCB4PXtzaXplLndpZHRoICsgMTd9IHk9e3NjYWxlLnkoMCkgLSA5fSB3aWR0aD17bmVjZXNzYXJ5V2lkdGh9IGhlaWdodD17MjAgKiBuZWNlc3NhcnlSb3dzfT5cbiAgICAgICAgICAgIDxkaXYgZGFuZ2Vyb3VzbHlTZXRJbm5lckhUTUw9e3sgX19odG1sOiBkb21haW4uYXhpc0xhYmVsIH19IGNsYXNzTmFtZT17Y2xhc3Nlcy5sYWJlbEZvbnRTaXplfSAvPlxuICAgICAgICAgIDwvZm9yZWlnbk9iamVjdD5cbiAgICAgICAgKX1cbiAgICAgIDwvUmVhY3QuRnJhZ21lbnQ+XG4gICAgKTtcbiAgfVxufVxuXG5jb25zdCBYQXhpcyA9IHdpdGhTdHlsZXMoYXhpc1N0eWxlcykoUmF3WEF4aXMpO1xuXG5leHBvcnQgY2xhc3MgUmF3WUF4aXMgZXh0ZW5kcyBSZWFjdC5Db21wb25lbnQge1xuICBzdGF0aWMgcHJvcFR5cGVzID0ge1xuICAgIC4uLkF4aXNQcm9wVHlwZXMsXG4gICAgZ3JhcGhQcm9wczogdHlwZXMuR3JhcGhQcm9wc1R5cGUuaXNSZXF1aXJlZCxcbiAgfTtcbiAgc3RhdGljIGRlZmF1bHRQcm9wcyA9IEF4aXNEZWZhdWx0UHJvcHM7XG5cbiAgcmVuZGVyKCkge1xuICAgIGNvbnN0IHsgY2xhc3NlcywgaW5jbHVkZUFycm93cywgZ3JhcGhQcm9wcywgc2tpcFZhbHVlcywgcm93VGlja1ZhbHVlcyB9ID0gdGhpcy5wcm9wcztcbiAgICBjb25zdCB7IHNjYWxlLCByYW5nZSwgc2l6ZSB9ID0gZ3JhcGhQcm9wcyB8fCB7fTtcblxuICAgIGNvbnN0IG5lY2Vzc2FyeVdpZHRoID0gcmFuZ2UuYXhpc0xhYmVsID8gYW1vdW50VG9JbmNyZWFzZVdpZHRoKHJhbmdlLmF4aXNMYWJlbC5sZW5ndGgpIDogMDtcblxuICAgIGNvbnN0IGN1c3RvbVRpY2tGb3JtYXQgPSAodmFsdWUpID0+IChza2lwVmFsdWVzICYmIHNraXBWYWx1ZXMuaW5kZXhPZih2YWx1ZSkgPj0gMCA/ICcnIDogdmFsdWUpO1xuXG4gICAgcmV0dXJuIChcbiAgICAgIDxSZWFjdC5GcmFnbWVudD5cbiAgICAgICAgPEF4aXNcbiAgICAgICAgICBheGlzTGluZUNsYXNzTmFtZT17Y2xhc3Nlcy5saW5lfVxuICAgICAgICAgIG9yaWVudGF0aW9uPXsnbGVmdCd9XG4gICAgICAgICAgc2NhbGU9e3NjYWxlLnl9XG4gICAgICAgICAgdG9wPXswfVxuICAgICAgICAgIGhlaWdodD17c2l6ZS5oZWlnaHR9XG4gICAgICAgICAgbGVmdD17c2NhbGUueCgwKX1cbiAgICAgICAgICBsYWJlbD17cmFuZ2UubGFiZWx9XG4gICAgICAgICAgbGFiZWxQcm9wcz17eyAnZGF0YS1waWUtcmVhZGFibGUnOiBmYWxzZSB9fVxuICAgICAgICAgIHJhbmdlUGFkZGluZz17OH1cbiAgICAgICAgICB0aWNrTGVuZ3RoPXsxMH1cbiAgICAgICAgICB0aWNrQ2xhc3NOYW1lPXtjbGFzc2VzLnRpY2t9XG4gICAgICAgICAgdGlja0Zvcm1hdD17Y3VzdG9tVGlja0Zvcm1hdH1cbiAgICAgICAgICB0aWNrTGFiZWxQcm9wcz17KHZhbHVlKSA9PiB7XG4gICAgICAgICAgICBsZXQgZGlnaXRzID0gdmFsdWUudG9Mb2NhbGVTdHJpbmcoKS5yZXBsYWNlKC9bLi1dL2csICcnKS5sZW5ndGggfHwgMTtcblxuICAgICAgICAgICAgcmV0dXJuIHtcbiAgICAgICAgICAgICAgLi4udGlja0xhYmVsU3R5bGVzLFxuICAgICAgICAgICAgICBkeTogNCxcbiAgICAgICAgICAgICAgZHg6IC0xMCAtIGRpZ2l0cyAqIDksXG4gICAgICAgICAgICAgICdkYXRhLXBpZS1yZWFkYWJsZSc6IGZhbHNlLFxuICAgICAgICAgICAgfTtcbiAgICAgICAgICB9fVxuICAgICAgICAgIGhpZGVaZXJvPXt0cnVlfVxuICAgICAgICAgIHRpY2tUZXh0QW5jaG9yPXsnYm90dG9tJ31cbiAgICAgICAgICB0aWNrVmFsdWVzPXtyb3dUaWNrVmFsdWVzfVxuICAgICAgICAvPlxuXG4gICAgICAgIHtpbmNsdWRlQXJyb3dzICYmIGluY2x1ZGVBcnJvd3MuZG93biAmJiAoXG4gICAgICAgICAgPEFycm93IGRpcmVjdGlvbj1cImRvd25cIiB4PXswfSB5PXtyYW5nZS5taW59IGNsYXNzTmFtZT17Y2xhc3Nlcy5hcnJvd30gc2NhbGU9e3NjYWxlfSAvPlxuICAgICAgICApfVxuICAgICAgICB7aW5jbHVkZUFycm93cyAmJiBpbmNsdWRlQXJyb3dzLnVwICYmIChcbiAgICAgICAgICA8QXJyb3cgZGlyZWN0aW9uPVwidXBcIiB4PXswfSB5PXtyYW5nZS5tYXh9IGNsYXNzTmFtZT17Y2xhc3Nlcy5hcnJvd30gc2NhbGU9e3NjYWxlfSAvPlxuICAgICAgICApfVxuICAgICAgICB7cmFuZ2UuYXhpc0xhYmVsICYmIChcbiAgICAgICAgICA8Zm9yZWlnbk9iamVjdCB4PXtzY2FsZS54KDApIC0gbmVjZXNzYXJ5V2lkdGggLyAyfSB5PXstMzN9IHdpZHRoPXtuZWNlc3NhcnlXaWR0aH0gaGVpZ2h0PVwiMjBcIj5cbiAgICAgICAgICAgIDxSZWFkYWJsZSBmYWxzZT5cbiAgICAgICAgICAgICAgPGRpdiBkYW5nZXJvdXNseVNldElubmVySFRNTD17eyBfX2h0bWw6IHJhbmdlLmF4aXNMYWJlbCB9fSBjbGFzc05hbWU9e2NsYXNzZXMuYXhpc0xhYmVsSG9sZGVyfSAvPlxuICAgICAgICAgICAgPC9SZWFkYWJsZT5cbiAgICAgICAgICA8L2ZvcmVpZ25PYmplY3Q+XG4gICAgICAgICl9XG4gICAgICA8L1JlYWN0LkZyYWdtZW50PlxuICAgICk7XG4gIH1cbn1cblxuY29uc3QgWUF4aXMgPSB3aXRoU3R5bGVzKGF4aXNTdHlsZXMpKFJhd1lBeGlzKTtcblxuZXhwb3J0IGRlZmF1bHQgY2xhc3MgQXhlcyBleHRlbmRzIFJlYWN0LkNvbXBvbmVudCB7XG4gIHN0YXRpYyBwcm9wVHlwZXMgPSB7XG4gICAgLi4uQXhpc1Byb3BUeXBlcyxcbiAgICBjbGFzc2VzOiBQcm9wVHlwZXMub2JqZWN0LFxuICAgIGdyYXBoUHJvcHM6IHR5cGVzLkdyYXBoUHJvcHNUeXBlLmlzUmVxdWlyZWQsXG4gIH07XG4gIHN0YXRpYyBkZWZhdWx0UHJvcHMgPSBBeGlzRGVmYXVsdFByb3BzO1xuXG4gIHhWYWx1ZXMgPSAoKSA9PiB7XG4gICAgY29uc3QgeyBncmFwaFByb3BzIH0gPSB0aGlzLnByb3BzO1xuICAgIGNvbnN0IHsgc2NhbGUsIGRvbWFpbiB9ID0gZ3JhcGhQcm9wcyB8fCB7fTtcblxuICAgIGlmICghZG9tYWluIHx8ICFzY2FsZSkge1xuICAgICAgcmV0dXJuO1xuICAgIH1cblxuICAgIGNvbnN0IHRpY2tzID0gZ2V0VGlja1ZhbHVlcyh7IC4uLmRvbWFpbiwgc3RlcDogZG9tYWluLmxhYmVsU3RlcCB9KTtcbiAgICBjb25zdCBuZWdhdGl2ZSA9IGZpcnN0TmVnYXRpdmVWYWx1ZSh0aWNrcyk7XG5cbiAgICByZXR1cm4ge1xuICAgICAgY29sdW1uVGlja3NWYWx1ZXM6IHRpY2tzLFxuICAgICAgZmlyc3ROZWdhdGl2ZVg6IG5lZ2F0aXZlLFxuICAgICAgZGlzdGFuY2VGcm9tT3JpZ2luVG9GaXJzdE5lZ2F0aXZlWDogTWF0aC5hYnMoc2NhbGUueSgwKSAtIHNjYWxlLnkobmVnYXRpdmUpKSxcbiAgICB9O1xuICB9O1xuXG4gIHlWYWx1ZXMgPSAoKSA9PiB7XG4gICAgY29uc3QgeyBncmFwaFByb3BzIH0gPSB0aGlzLnByb3BzO1xuICAgIGNvbnN0IHsgc2NhbGUsIHJhbmdlIH0gPSBncmFwaFByb3BzIHx8IHt9O1xuXG4gICAgaWYgKCFyYW5nZSB8fCAhc2NhbGUpIHtcbiAgICAgIHJldHVybjtcbiAgICB9XG5cbiAgICBjb25zdCB0aWNrcyA9IGdldFRpY2tWYWx1ZXMoeyAuLi5yYW5nZSwgc3RlcDogcmFuZ2UubGFiZWxTdGVwIH0pO1xuICAgIGNvbnN0IG5lZ2F0aXZlID0gZmlyc3ROZWdhdGl2ZVZhbHVlKHRpY2tzKTtcblxuICAgIHJldHVybiB7XG4gICAgICByb3dUaWNrVmFsdWVzOiB0aWNrcyxcbiAgICAgIGZpcnN0TmVnYXRpdmVZOiBuZWdhdGl2ZSxcbiAgICAgIGRpc3RhbmNlRnJvbU9yaWdpblRvRmlyc3ROZWdhdGl2ZVk6IE1hdGguYWJzKHNjYWxlLngoMCkgLSBzY2FsZS54KG5lZ2F0aXZlKSksXG4gICAgfTtcbiAgfTtcblxuICByZW5kZXIoKSB7XG4gICAgY29uc3QgeyBncmFwaFByb3BzIH0gPSB0aGlzLnByb3BzO1xuICAgIGNvbnN0IHsgZG9tYWluLCByYW5nZSB9ID0gZ3JhcGhQcm9wcyB8fCB7fTtcbiAgICBjb25zdCB7IGNvbHVtblRpY2tzVmFsdWVzLCBmaXJzdE5lZ2F0aXZlWCwgZGlzdGFuY2VGcm9tT3JpZ2luVG9GaXJzdE5lZ2F0aXZlWCB9ID0gdGhpcy54VmFsdWVzKCk7XG4gICAgY29uc3QgeyByb3dUaWNrVmFsdWVzLCBmaXJzdE5lZ2F0aXZlWSwgZGlzdGFuY2VGcm9tT3JpZ2luVG9GaXJzdE5lZ2F0aXZlWSB9ID0gdGhpcy55VmFsdWVzKCk7XG4gICAgY29uc3QgZGVsdGFBbGxvd2FuY2UgPSA2O1xuICAgIGNvbnN0IGR5ID0gMjU7XG5cbiAgICBjb25zdCBza2lwVmFsdWVzID0gc2hhcmVkVmFsdWVzKFxuICAgICAgZmlyc3ROZWdhdGl2ZVgsXG4gICAgICBmaXJzdE5lZ2F0aXZlWSxcbiAgICAgIGRpc3RhbmNlRnJvbU9yaWdpblRvRmlyc3ROZWdhdGl2ZVgsXG4gICAgICBkaXN0YW5jZUZyb21PcmlnaW5Ub0ZpcnN0TmVnYXRpdmVZLFxuICAgICAgZGVsdGFBbGxvd2FuY2UsXG4gICAgICBkeSxcbiAgICApO1xuXG4gICAgLy8gZWFjaCBheGlzIGhhcyB0byBiZSBkaXNwbGF5ZWQgb25seSBpZiB0aGUgZG9tYWluICYgcmFuZ2UgaW5jbHVkZSBpdFxuICAgIHJldHVybiAoXG4gICAgICA8UmVhY3QuRnJhZ21lbnQ+XG4gICAgICAgIHtyYW5nZS5taW4gPD0gMCA/IChcbiAgICAgICAgICA8WEF4aXNcbiAgICAgICAgICAgIHsuLi50aGlzLnByb3BzfVxuICAgICAgICAgICAgc2tpcFZhbHVlcz17c2tpcFZhbHVlc31cbiAgICAgICAgICAgIGNvbHVtblRpY2tzVmFsdWVzPXtjb2x1bW5UaWNrc1ZhbHVlc31cbiAgICAgICAgICAgIGRpc3RhbmNlRnJvbU9yaWdpblRvRmlyc3ROZWdhdGl2ZVk9e2Rpc3RhbmNlRnJvbU9yaWdpblRvRmlyc3ROZWdhdGl2ZVl9XG4gICAgICAgICAgICBkeT17ZHl9XG4gICAgICAgICAgLz5cbiAgICAgICAgKSA6IG51bGx9XG4gICAgICAgIHtkb21haW4ubWluIDw9IDAgPyAoXG4gICAgICAgICAgPFlBeGlzXG4gICAgICAgICAgICB7Li4udGhpcy5wcm9wc31cbiAgICAgICAgICAgIHNraXBWYWx1ZXM9e3NraXBWYWx1ZXN9XG4gICAgICAgICAgICByb3dUaWNrVmFsdWVzPXtyb3dUaWNrVmFsdWVzfVxuICAgICAgICAgICAgZGlzdGFuY2VGcm9tT3JpZ2luVG9GaXJzdE5lZ2F0aXZlWD17ZGlzdGFuY2VGcm9tT3JpZ2luVG9GaXJzdE5lZ2F0aXZlWH1cbiAgICAgICAgICAvPlxuICAgICAgICApIDogbnVsbH1cbiAgICAgIDwvUmVhY3QuRnJhZ21lbnQ+XG4gICAgKTtcbiAgfVxufVxuIl19
|
|
@@ -0,0 +1,26 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
|
|
3
|
+
var _typeof = require("@babel/runtime/helpers/typeof");
|
|
4
|
+
|
|
5
|
+
Object.defineProperty(exports, "__esModule", {
|
|
6
|
+
value: true
|
|
7
|
+
});
|
|
8
|
+
Object.defineProperty(exports, "Axes", {
|
|
9
|
+
enumerable: true,
|
|
10
|
+
get: function get() {
|
|
11
|
+
return _axes["default"];
|
|
12
|
+
}
|
|
13
|
+
});
|
|
14
|
+
Object.defineProperty(exports, "AxisPropTypes", {
|
|
15
|
+
enumerable: true,
|
|
16
|
+
get: function get() {
|
|
17
|
+
return _axes.AxisPropTypes;
|
|
18
|
+
}
|
|
19
|
+
});
|
|
20
|
+
|
|
21
|
+
var _axes = _interopRequireWildcard(require("./axes"));
|
|
22
|
+
|
|
23
|
+
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); }
|
|
24
|
+
|
|
25
|
+
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; }
|
|
26
|
+
//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy9heGlzL2luZGV4LmpzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7O0FBQUEiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgQXhlcywgeyBBeGlzUHJvcFR5cGVzIH0gZnJvbSAnLi9heGVzJztcbmV4cG9ydCB7IEF4ZXMsIEF4aXNQcm9wVHlwZXMgfTtcbiJdfQ==
|
package/lib/bg.js
ADDED
|
@@ -0,0 +1,139 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
|
|
3
|
+
var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
|
|
4
|
+
|
|
5
|
+
Object.defineProperty(exports, "__esModule", {
|
|
6
|
+
value: true
|
|
7
|
+
});
|
|
8
|
+
exports["default"] = void 0;
|
|
9
|
+
|
|
10
|
+
var _classCallCheck2 = _interopRequireDefault(require("@babel/runtime/helpers/classCallCheck"));
|
|
11
|
+
|
|
12
|
+
var _createClass2 = _interopRequireDefault(require("@babel/runtime/helpers/createClass"));
|
|
13
|
+
|
|
14
|
+
var _assertThisInitialized2 = _interopRequireDefault(require("@babel/runtime/helpers/assertThisInitialized"));
|
|
15
|
+
|
|
16
|
+
var _inherits2 = _interopRequireDefault(require("@babel/runtime/helpers/inherits"));
|
|
17
|
+
|
|
18
|
+
var _possibleConstructorReturn2 = _interopRequireDefault(require("@babel/runtime/helpers/possibleConstructorReturn"));
|
|
19
|
+
|
|
20
|
+
var _getPrototypeOf2 = _interopRequireDefault(require("@babel/runtime/helpers/getPrototypeOf"));
|
|
21
|
+
|
|
22
|
+
var _defineProperty2 = _interopRequireDefault(require("@babel/runtime/helpers/defineProperty"));
|
|
23
|
+
|
|
24
|
+
var _react = _interopRequireDefault(require("react"));
|
|
25
|
+
|
|
26
|
+
var _propTypes = _interopRequireDefault(require("prop-types"));
|
|
27
|
+
|
|
28
|
+
var _d3Selection = require("d3-selection");
|
|
29
|
+
|
|
30
|
+
var _plot = require("@pie-lib/plot");
|
|
31
|
+
|
|
32
|
+
var _utils = require("./utils");
|
|
33
|
+
|
|
34
|
+
function _createSuper(Derived) { var hasNativeReflectConstruct = _isNativeReflectConstruct(); return function _createSuperInternal() { var Super = (0, _getPrototypeOf2["default"])(Derived), result; if (hasNativeReflectConstruct) { var NewTarget = (0, _getPrototypeOf2["default"])(this).constructor; result = Reflect.construct(Super, arguments, NewTarget); } else { result = Super.apply(this, arguments); } return (0, _possibleConstructorReturn2["default"])(this, result); }; }
|
|
35
|
+
|
|
36
|
+
function _isNativeReflectConstruct() { if (typeof Reflect === "undefined" || !Reflect.construct) return false; if (Reflect.construct.sham) return false; if (typeof Proxy === "function") return true; try { Boolean.prototype.valueOf.call(Reflect.construct(Boolean, [], function () {})); return true; } catch (e) { return false; } }
|
|
37
|
+
|
|
38
|
+
var Bg = /*#__PURE__*/function (_React$Component) {
|
|
39
|
+
(0, _inherits2["default"])(Bg, _React$Component);
|
|
40
|
+
|
|
41
|
+
var _super = _createSuper(Bg);
|
|
42
|
+
|
|
43
|
+
function Bg() {
|
|
44
|
+
var _this;
|
|
45
|
+
|
|
46
|
+
(0, _classCallCheck2["default"])(this, Bg);
|
|
47
|
+
|
|
48
|
+
for (var _len = arguments.length, args = new Array(_len), _key = 0; _key < _len; _key++) {
|
|
49
|
+
args[_key] = arguments[_key];
|
|
50
|
+
}
|
|
51
|
+
|
|
52
|
+
_this = _super.call.apply(_super, [this].concat(args));
|
|
53
|
+
(0, _defineProperty2["default"])((0, _assertThisInitialized2["default"])(_this), "getRectPadding", function () {
|
|
54
|
+
var graphProps = _this.props.graphProps;
|
|
55
|
+
return (0, _utils.thinnerShapesNeeded)(graphProps) ? 6 : 10;
|
|
56
|
+
});
|
|
57
|
+
(0, _defineProperty2["default"])((0, _assertThisInitialized2["default"])(_this), "onRectClick", function (rect) {
|
|
58
|
+
var _this$props = _this.props,
|
|
59
|
+
onClick = _this$props.onClick,
|
|
60
|
+
graphProps = _this$props.graphProps;
|
|
61
|
+
var scale = graphProps.scale;
|
|
62
|
+
|
|
63
|
+
var padding = _this.getRectPadding();
|
|
64
|
+
|
|
65
|
+
var coords = (0, _d3Selection.mouse)(rect._groups[0][0]); // decrease the padding from coordinates to indicate the correct point clicked
|
|
66
|
+
|
|
67
|
+
var x = scale.x.invert(coords[0] - padding);
|
|
68
|
+
var y = scale.y.invert(coords[1] - padding);
|
|
69
|
+
var rowTicks = (0, _utils.getTickValues)(graphProps.range);
|
|
70
|
+
var columnTicks = (0, _utils.getTickValues)(graphProps.domain);
|
|
71
|
+
|
|
72
|
+
var closest = function closest(ticks, value) {
|
|
73
|
+
return ticks.length && ticks.reduce(function (prev, curr) {
|
|
74
|
+
var currentDistance = Math.abs(curr - value);
|
|
75
|
+
var previousDistance = Math.abs(prev - value);
|
|
76
|
+
return currentDistance <= previousDistance ? curr : prev;
|
|
77
|
+
});
|
|
78
|
+
};
|
|
79
|
+
|
|
80
|
+
var snapped = {};
|
|
81
|
+
|
|
82
|
+
if (columnTicks.indexOf(x) >= 0 && rowTicks.indexOf(y) >= 0) {
|
|
83
|
+
snapped.x = x;
|
|
84
|
+
snapped.y = y;
|
|
85
|
+
} else {
|
|
86
|
+
snapped.x = closest(columnTicks, x);
|
|
87
|
+
snapped.y = closest(rowTicks, y);
|
|
88
|
+
}
|
|
89
|
+
|
|
90
|
+
onClick(snapped);
|
|
91
|
+
});
|
|
92
|
+
return _this;
|
|
93
|
+
}
|
|
94
|
+
|
|
95
|
+
(0, _createClass2["default"])(Bg, [{
|
|
96
|
+
key: "componentDidMount",
|
|
97
|
+
value: function componentDidMount() {
|
|
98
|
+
var rect = (0, _d3Selection.select)(this.rect);
|
|
99
|
+
rect.on('click', this.onRectClick.bind(this, rect));
|
|
100
|
+
}
|
|
101
|
+
}, {
|
|
102
|
+
key: "shouldComponentUpdate",
|
|
103
|
+
value: function shouldComponentUpdate(nextProps) {
|
|
104
|
+
return !_plot.utils.isDomainRangeEqual(this.props.graphProps, nextProps.graphProps) || this.props.width !== nextProps.width || this.props.height !== nextProps.height;
|
|
105
|
+
}
|
|
106
|
+
}, {
|
|
107
|
+
key: "render",
|
|
108
|
+
value: function render() {
|
|
109
|
+
var _this2 = this;
|
|
110
|
+
|
|
111
|
+
var _this$props2 = this.props,
|
|
112
|
+
width = _this$props2.width,
|
|
113
|
+
height = _this$props2.height;
|
|
114
|
+
var padding = this.getRectPadding(); // expand the size of clickable area so a small area outside the edges of the grid lines to be clickable
|
|
115
|
+
|
|
116
|
+
return /*#__PURE__*/_react["default"].createElement("rect", {
|
|
117
|
+
ref: function ref(rect) {
|
|
118
|
+
return _this2.rect = rect;
|
|
119
|
+
},
|
|
120
|
+
transform: "translate(-".concat(padding, ", -").concat(padding, ")"),
|
|
121
|
+
fill: "red",
|
|
122
|
+
fillOpacity: "0.0",
|
|
123
|
+
width: width + padding * 2,
|
|
124
|
+
height: height + padding * 2
|
|
125
|
+
});
|
|
126
|
+
}
|
|
127
|
+
}]);
|
|
128
|
+
return Bg;
|
|
129
|
+
}(_react["default"].Component);
|
|
130
|
+
|
|
131
|
+
exports["default"] = Bg;
|
|
132
|
+
(0, _defineProperty2["default"])(Bg, "propTypes", {
|
|
133
|
+
width: _propTypes["default"].number.isRequired,
|
|
134
|
+
height: _propTypes["default"].number.isRequired,
|
|
135
|
+
onClick: _propTypes["default"].func.isRequired,
|
|
136
|
+
graphProps: _plot.types.GraphPropsType.isRequired
|
|
137
|
+
});
|
|
138
|
+
(0, _defineProperty2["default"])(Bg, "defaultProps", {});
|
|
139
|
+
//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uL3NyYy9iZy5qc3giXSwibmFtZXMiOlsiQmciLCJncmFwaFByb3BzIiwicHJvcHMiLCJyZWN0Iiwib25DbGljayIsInNjYWxlIiwicGFkZGluZyIsImdldFJlY3RQYWRkaW5nIiwiY29vcmRzIiwiX2dyb3VwcyIsIngiLCJpbnZlcnQiLCJ5Iiwicm93VGlja3MiLCJyYW5nZSIsImNvbHVtblRpY2tzIiwiZG9tYWluIiwiY2xvc2VzdCIsInRpY2tzIiwidmFsdWUiLCJsZW5ndGgiLCJyZWR1Y2UiLCJwcmV2IiwiY3VyciIsImN1cnJlbnREaXN0YW5jZSIsIk1hdGgiLCJhYnMiLCJwcmV2aW91c0Rpc3RhbmNlIiwic25hcHBlZCIsImluZGV4T2YiLCJvbiIsIm9uUmVjdENsaWNrIiwiYmluZCIsIm5leHRQcm9wcyIsInV0aWxzIiwiaXNEb21haW5SYW5nZUVxdWFsIiwid2lkdGgiLCJoZWlnaHQiLCJSZWFjdCIsIkNvbXBvbmVudCIsIlByb3BUeXBlcyIsIm51bWJlciIsImlzUmVxdWlyZWQiLCJmdW5jIiwidHlwZXMiLCJHcmFwaFByb3BzVHlwZSJdLCJtYXBwaW5ncyI6Ijs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7QUFBQTs7QUFDQTs7QUFDQTs7QUFDQTs7QUFDQTs7Ozs7O0lBRXFCQSxFOzs7Ozs7Ozs7Ozs7Ozs7dUdBd0JGLFlBQU07QUFDckIsVUFBUUMsVUFBUixHQUF1QixNQUFLQyxLQUE1QixDQUFRRCxVQUFSO0FBRUEsYUFBTyxnQ0FBb0JBLFVBQXBCLElBQWtDLENBQWxDLEdBQXNDLEVBQTdDO0FBQ0QsSztvR0FNYSxVQUFDRSxJQUFELEVBQVU7QUFDdEIsd0JBQWdDLE1BQUtELEtBQXJDO0FBQUEsVUFBUUUsT0FBUixlQUFRQSxPQUFSO0FBQUEsVUFBaUJILFVBQWpCLGVBQWlCQSxVQUFqQjtBQUNBLFVBQVFJLEtBQVIsR0FBa0JKLFVBQWxCLENBQVFJLEtBQVI7O0FBRUEsVUFBTUMsT0FBTyxHQUFHLE1BQUtDLGNBQUwsRUFBaEI7O0FBQ0Es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QSxTQUFTLHVCQUFnQkcsT0FBaEIsZ0JBQTZCQSxPQUE3QixNQUZYO0FBR0UsUUFBQSxJQUFJLEVBQUMsS0FIUDtBQUlFLFFBQUEsV0FBVyxFQUFDLEtBSmQ7QUFLRSxRQUFBLEtBQUssRUFBRThCLEtBQUssR0FBRzlCLE9BQU8sR0FBRyxDQUwzQjtBQU1FLFFBQUEsTUFBTSxFQUFFK0IsTUFBTSxHQUFHL0IsT0FBTyxHQUFHO0FBTjdCLFFBREY7QUFVRDs7O0VBeEY2QmdDLGtCQUFNQyxTOzs7aUNBQWpCdkMsRSxlQUNBO0FBQ2pCb0MsRUFBQUEsS0FBSyxFQUFFSSxzQkFBVUMsTUFBVixDQUFpQkMsVUFEUDtBQUVqQkwsRUFBQUEsTUFBTSxFQUFFRyxzQkFBVUMsTUFBVixDQUFpQkMsVUFGUjtBQUdqQnRDLEVBQUFBLE9BQU8sRUFBRW9DLHNCQUFVRyxJQUFWLENBQWVELFVBSFA7QUFJakJ6QyxFQUFBQSxVQUFVLEVBQUUyQyxZQUFNQyxjQUFOLENBQXFCSDtBQUpoQixDO2lDQURBMUMsRSxrQkFRRyxFIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IFJlYWN0IGZyb20gJ3JlYWN0JztcbmltcG9ydCBQcm9wVHlwZXMgZnJvbSAncHJvcC10eXBlcyc7XG5pbXBvcnQgeyBzZWxlY3QsIG1vdXNlIH0gZnJvbSAnZDMtc2VsZWN0aW9uJztcbmltcG9ydCB7IHR5cGVzLCB1dGlscyB9IGZyb20gJ0BwaWUtbGliL3Bsb3QnO1xuaW1wb3J0IHsgZ2V0VGlja1ZhbHVlcywgdGhpbm5lclNoYXBlc05lZWRlZCB9IGZyb20gJy4vdXRpbHMnO1xuXG5leHBvcnQgZGVmYXVsdCBjbGFzcyBCZyBleHRlbmRzIFJlYWN0LkNvbXBvbmVudCB7XG4gIHN0YXRpYyBwcm9wVHlwZXMgPSB7XG4gICAgd2lkdGg6IFByb3BUeXBlcy5udW1iZXIuaXNSZXF1aXJlZCxcbiAgICBoZWlnaHQ6IFByb3BUeXBlcy5udW1iZXIuaXNSZXF1aXJlZCxcbiAgICBvbkNsaWNrOiBQcm9wVHlwZXMuZnVuYy5pc1JlcXVpcmVkLFxuICAgIGdyYXBoUHJvcHM6IHR5cGVzLkdyYXBoUHJvcHNUeXBlLmlzUmVxdWlyZWQsXG4gIH07XG5cbiAgc3RhdGljIGRlZmF1bHRQcm9wcyA9IHt9O1xuXG4gIGNvbXBvbmVudERpZE1vdW50KCkge1xuICAgIGNvbnN0IHJlY3QgPSBzZWxlY3QodGhpcy5yZWN0KTtcblxuICAgIHJlY3Qub24oJ2NsaWNrJywgdGhpcy5vblJlY3RDbGljay5iaW5kKHRoaXMsIHJlY3QpKTtcbiAgfVxuXG4gIHNob3VsZENvbXBvbmVudFVwZGF0ZShuZXh0UHJvcHMpIHtcbiAgICByZXR1cm4gKFxuICAgICAgIXV0aWxzLmlzRG9tYWluUmFuZ2VFcXVhbCh0aGlzLnByb3BzLmdyYXBoUHJvcHMsIG5leHRQcm9wcy5ncmFwaFByb3BzKSB8fFxuICAgICAgdGhpcy5wcm9wcy53aWR0aCAhPT0gbmV4dFByb3BzLndpZHRoIHx8XG4gICAgICB0aGlzLnByb3BzLmhlaWdodCAhPT0gbmV4dFByb3BzLmhlaWdodFxuICAgICk7XG4gIH1cblxuICBnZXRSZWN0UGFkZGluZyA9ICgpID0+IHtcbiAgICBjb25zdCB7IGdyYXBoUHJvcHMgfSA9IHRoaXMucHJvcHM7XG5cbiAgICByZXR1cm4gdGhpbm5lclNoYXBlc05lZWRlZChncmFwaFByb3BzKSA/IDYgOiAxMDtcbiAgfTtcblxuICAvKipcbiAgICogTm90ZTogd2UgdXNlIGQzIGNsaWNrICsgbW91c2UgdG8gZ2l2ZSB1cyBkb21haW4gdmFsdWVzIGRpcmVjdGx5LlxuICAgKiBTYXZlcyB1cyBoYXZpbmcgdG8gY2FsY3VsYXRlIHRoZW0gb3Vyc2VsdmVzIGZyb20gYSBNb3VzZUV2ZW50LlxuICAgKi9cbiAgb25SZWN0Q2xpY2sgPSAocmVjdCkgPT4ge1xuICAgIGNvbnN0IHsgb25DbGljaywgZ3JhcGhQcm9wcyB9ID0gdGhpcy5wcm9wcztcbiAgICBjb25zdCB7IHNjYWxlIH0gPSBncmFwaFByb3BzO1xuXG4gICAgY29uc3QgcGFkZGluZyA9IHRoaXMuZ2V0UmVjdFBhZGRpbmcoKTtcbiAgICBjb25zdCBjb29yZHMgPSBtb3VzZShyZWN0Ll9ncm91cHNbMF1bMF0pO1xuXG4gICAgLy8gZGVjcmVhc2UgdGhlIHBhZGRpbmcgZnJvbSBjb29yZGluYXRlcyB0byBpbmRpY2F0ZSB0aGUgY29ycmVjdCBwb2ludCBjbGlja2VkXG4gICAgY29uc3QgeCA9IHNjYWxlLnguaW52ZXJ0KGNvb3Jkc1swXSAtIHBhZGRpbmcpO1xuICAgIGNvbnN0IHkgPSBzY2FsZS55LmludmVydChjb29yZHNbMV0gLSBwYWRkaW5nKTtcblxuICAgIGNvbnN0IHJvd1RpY2tzID0gZ2V0VGlja1ZhbHVlcyhncmFwaFByb3BzLnJhbmdlKTtcbiAgICBjb25zdCBjb2x1bW5UaWNrcyA9IGdldFRpY2tWYWx1ZXMoZ3JhcGhQcm9wcy5kb21haW4pO1xuXG4gICAgY29uc3QgY2xvc2VzdCA9ICh0aWNrcywgdmFsdWUpID0+IHtcbiAgICAgIHJldHVybiAoXG4gICAgICAgIHRpY2tzLmxlbmd0aCAmJlxuICAgICAgICB0aWNrcy5yZWR1Y2UoKHByZXYsIGN1cnIpID0+IHtcbiAgICAgICAgICBjb25zdCBjdXJyZW50RGlzdGFuY2UgPSBNYXRoLmFicyhjdXJyIC0gdmFsdWUpO1xuICAgICAgICAgIGNvbnN0IHByZXZpb3VzRGlzdGFuY2UgPSBNYXRoLmFicyhwcmV2IC0gdmFsdWUpO1xuXG4gICAgICAgICAgcmV0dXJuIGN1cnJlbnREaXN0YW5jZSA8PSBwcmV2aW91c0Rpc3RhbmNlID8gY3VyciA6IHByZXY7XG4gICAgICAgIH0pXG4gICAgICApO1xuICAgIH07XG5cbiAgICBsZXQgc25hcHBlZCA9IHt9O1xuXG4gICAgaWYgKGNvbHVtblRpY2tzLmluZGV4T2YoeCkgPj0gMCAmJiByb3dUaWNrcy5pbmRleE9mKHkpID49IDApIHtcbiAgICAgIHNuYXBwZWQueCA9IHg7XG4gICAgICBzbmFwcGVkLnkgPSB5O1xuICAgIH0gZWxzZSB7XG4gICAgICBzbmFwcGVkLnggPSBjbG9zZXN0KGNvbHVtblRpY2tzLCB4KTtcbiAgICAgIHNuYXBwZWQueSA9IGNsb3Nlc3Qocm93VGlja3MsIHkpO1xuICAgIH1cblxuICAgIG9uQ2xpY2soc25hcHBlZCk7XG4gIH07XG5cbiAgcmVuZGVyKCkge1xuICAgIGNvbnN0IHsgd2lkdGgsIGhlaWdodCB9ID0gdGhpcy5wcm9wcztcbiAgICBjb25zdCBwYWRkaW5nID0gdGhpcy5nZXRSZWN0UGFkZGluZygpO1xuXG4gICAgLy8gZXhwYW5kIHRoZSBzaXplIG9mIGNsaWNrYWJsZSBhcmVhIHNvIGEgc21hbGwgYXJlYSBvdXRzaWRlIHRoZSBlZGdlcyBvZiB0aGUgZ3JpZCBsaW5lcyB0byBiZSBjbGlja2FibGVcbiAgICByZXR1cm4gKFxuICAgICAgPHJlY3RcbiAgICAgICAgcmVmPXsocmVjdCkgPT4gKHRoaXMucmVjdCA9IHJlY3QpfVxuICAgICAgICB0cmFuc2Zvcm09e2B0cmFuc2xhdGUoLSR7cGFkZGluZ30sIC0ke3BhZGRpbmd9KWB9XG4gICAgICAgIGZpbGw9XCJyZWRcIlxuICAgICAgICBmaWxsT3BhY2l0eT1cIjAuMFwiXG4gICAgICAgIHdpZHRoPXt3aWR0aCArIHBhZGRpbmcgKiAyfVxuICAgICAgICBoZWlnaHQ9e2hlaWdodCArIHBhZGRpbmcgKiAyfVxuICAgICAgLz5cbiAgICApO1xuICB9XG59XG4iXX0=
|