@pie-lib/charting 5.17.0-beta.0 → 5.17.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 -581
- package/CHANGELOG.md +149 -43
- package/package.json +5 -5
- package/src/__tests__/__snapshots__/axes.test.jsx.snap +1 -0
- package/src/__tests__/__snapshots__/chart.test.jsx.snap +0 -18
- package/src/__tests__/__snapshots__/grid.test.jsx.snap +61 -17
- package/src/__tests__/axes.test.jsx +0 -5
- package/src/__tests__/chart.test.jsx +8 -0
- package/src/actions-button.jsx +109 -0
- package/src/axes.jsx +5 -31
- package/src/bars/common/bars.jsx +8 -10
- package/src/chart-setup.jsx +1 -1
- package/src/chart.jsx +31 -26
- package/src/common/drag-handle.jsx +3 -3
- package/src/common/styles.js +1 -1
- package/src/grid.jsx +38 -13
- package/src/index.js +2 -1
- package/src/key-legend.jsx +75 -0
- package/src/line/common/drag-handle.jsx +3 -9
- package/src/line/common/line.jsx +2 -6
- package/src/line/line-cross.js +29 -2
- package/src/line/line-dot.js +36 -19
- package/src/mark-label.jsx +7 -2
- package/src/plot/common/plot.jsx +8 -5
- package/src/tool-menu.jsx +1 -1
- package/lib/__tests__/axes.test.js +0 -181
- package/lib/__tests__/chart-setup.test.js +0 -58
- package/lib/__tests__/chart-type.test.js +0 -42
- package/lib/__tests__/chart.test.js +0 -108
- package/lib/__tests__/grid.test.js +0 -48
- package/lib/__tests__/mark-label.test.js +0 -57
- package/lib/__tests__/utils.js +0 -56
- package/lib/__tests__/utils.test.js +0 -197
- package/lib/axes.js +0 -643
- package/lib/bars/__tests__/bar.test.js +0 -62
- package/lib/bars/__tests__/histogram.test.js +0 -64
- package/lib/bars/__tests__/utils.js +0 -56
- package/lib/bars/bar.js +0 -86
- package/lib/bars/common/__tests__/bars.test.js +0 -100
- package/lib/bars/common/__tests__/utils.js +0 -56
- package/lib/bars/common/bars.js +0 -301
- package/lib/bars/histogram.js +0 -87
- package/lib/chart-setup.js +0 -458
- package/lib/chart-type.js +0 -71
- package/lib/chart-types.js +0 -31
- package/lib/chart.js +0 -438
- package/lib/common/__tests__/drag-handle.test.js +0 -134
- package/lib/common/__tests__/utils.js +0 -56
- package/lib/common/drag-handle.js +0 -175
- package/lib/common/drag-icon.js +0 -52
- package/lib/common/styles.js +0 -40
- package/lib/grid.js +0 -104
- package/lib/index.js +0 -40
- package/lib/line/__tests__/line-cross.test.js +0 -64
- package/lib/line/__tests__/line-dot.test.js +0 -64
- package/lib/line/__tests__/utils.js +0 -56
- package/lib/line/common/__tests__/drag-handle.test.js +0 -134
- package/lib/line/common/__tests__/line.test.js +0 -128
- package/lib/line/common/__tests__/utils.js +0 -56
- package/lib/line/common/drag-handle.js +0 -157
- package/lib/line/common/line.js +0 -261
- package/lib/line/line-cross.js +0 -168
- package/lib/line/line-dot.js +0 -131
- package/lib/mark-label.js +0 -255
- package/lib/plot/__tests__/dot.test.js +0 -64
- package/lib/plot/__tests__/line.test.js +0 -64
- package/lib/plot/__tests__/utils.js +0 -56
- package/lib/plot/common/__tests__/plot.test.js +0 -103
- package/lib/plot/common/__tests__/utils.js +0 -56
- package/lib/plot/common/plot.js +0 -280
- package/lib/plot/dot.js +0 -123
- package/lib/plot/line.js +0 -152
- package/lib/tool-menu.js +0 -142
- package/lib/utils.js +0 -244
package/lib/line/common/line.js
DELETED
|
@@ -1,261 +0,0 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
|
|
3
|
-
var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
|
|
4
|
-
|
|
5
|
-
var _typeof = require("@babel/runtime/helpers/typeof");
|
|
6
|
-
|
|
7
|
-
Object.defineProperty(exports, "__esModule", {
|
|
8
|
-
value: true
|
|
9
|
-
});
|
|
10
|
-
exports["default"] = exports.RawLine = exports.Line = void 0;
|
|
11
|
-
|
|
12
|
-
var _extends2 = _interopRequireDefault(require("@babel/runtime/helpers/extends"));
|
|
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 _assertThisInitialized2 = _interopRequireDefault(require("@babel/runtime/helpers/assertThisInitialized"));
|
|
21
|
-
|
|
22
|
-
var _inherits2 = _interopRequireDefault(require("@babel/runtime/helpers/inherits"));
|
|
23
|
-
|
|
24
|
-
var _possibleConstructorReturn2 = _interopRequireDefault(require("@babel/runtime/helpers/possibleConstructorReturn"));
|
|
25
|
-
|
|
26
|
-
var _getPrototypeOf2 = _interopRequireDefault(require("@babel/runtime/helpers/getPrototypeOf"));
|
|
27
|
-
|
|
28
|
-
var _defineProperty2 = _interopRequireDefault(require("@babel/runtime/helpers/defineProperty"));
|
|
29
|
-
|
|
30
|
-
var _react = _interopRequireDefault(require("react"));
|
|
31
|
-
|
|
32
|
-
var _group = require("@vx/group");
|
|
33
|
-
|
|
34
|
-
var _shape = require("@vx/shape");
|
|
35
|
-
|
|
36
|
-
var _propTypes = _interopRequireDefault(require("prop-types"));
|
|
37
|
-
|
|
38
|
-
var _plot = require("@pie-lib/plot");
|
|
39
|
-
|
|
40
|
-
var _dragHandle = _interopRequireWildcard(require("./drag-handle"));
|
|
41
|
-
|
|
42
|
-
var _index = require("@material-ui/core/styles/index");
|
|
43
|
-
|
|
44
|
-
var _isEqual = _interopRequireDefault(require("lodash/isEqual"));
|
|
45
|
-
|
|
46
|
-
var _renderUi = require("@pie-lib/render-ui");
|
|
47
|
-
|
|
48
|
-
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); }
|
|
49
|
-
|
|
50
|
-
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; }
|
|
51
|
-
|
|
52
|
-
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); }; }
|
|
53
|
-
|
|
54
|
-
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; } }
|
|
55
|
-
|
|
56
|
-
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; }
|
|
57
|
-
|
|
58
|
-
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; }
|
|
59
|
-
|
|
60
|
-
var getData = function getData(data, domain) {
|
|
61
|
-
var _ref = domain || {},
|
|
62
|
-
max = _ref.max;
|
|
63
|
-
|
|
64
|
-
var length = data.length;
|
|
65
|
-
|
|
66
|
-
if (!max || !length) {
|
|
67
|
-
return [];
|
|
68
|
-
}
|
|
69
|
-
|
|
70
|
-
return data.map(function (el, i) {
|
|
71
|
-
return _objectSpread(_objectSpread({}, el), {}, {
|
|
72
|
-
x: length > 1 ? i * (max / (length - 1)) : 0.5,
|
|
73
|
-
y: el.value
|
|
74
|
-
});
|
|
75
|
-
});
|
|
76
|
-
};
|
|
77
|
-
|
|
78
|
-
var RawLine = /*#__PURE__*/function (_React$Component) {
|
|
79
|
-
(0, _inherits2["default"])(RawLine, _React$Component);
|
|
80
|
-
|
|
81
|
-
var _super = _createSuper(RawLine);
|
|
82
|
-
|
|
83
|
-
function RawLine(props) {
|
|
84
|
-
var _this;
|
|
85
|
-
|
|
86
|
-
(0, _classCallCheck2["default"])(this, RawLine);
|
|
87
|
-
_this = _super.call(this, props);
|
|
88
|
-
(0, _defineProperty2["default"])((0, _assertThisInitialized2["default"])(_this), "setDragValue", function (line) {
|
|
89
|
-
return _this.setState({
|
|
90
|
-
line: line
|
|
91
|
-
});
|
|
92
|
-
});
|
|
93
|
-
(0, _defineProperty2["default"])((0, _assertThisInitialized2["default"])(_this), "dragStop", function (index) {
|
|
94
|
-
var onChange = _this.props.onChange;
|
|
95
|
-
|
|
96
|
-
_this.setState({
|
|
97
|
-
dragging: false
|
|
98
|
-
}, function () {
|
|
99
|
-
onChange(index, _this.state.line[index]);
|
|
100
|
-
});
|
|
101
|
-
});
|
|
102
|
-
(0, _defineProperty2["default"])((0, _assertThisInitialized2["default"])(_this), "dragValue", function (index, existing, next) {
|
|
103
|
-
var newLine = (0, _toConsumableArray2["default"])(_this.state.line);
|
|
104
|
-
newLine[index].dragValue = next;
|
|
105
|
-
|
|
106
|
-
_this.setDragValue(newLine);
|
|
107
|
-
});
|
|
108
|
-
_this.state = {
|
|
109
|
-
dragValue: undefined,
|
|
110
|
-
line: getData(props.data, props.graphProps.domain)
|
|
111
|
-
};
|
|
112
|
-
return _this;
|
|
113
|
-
}
|
|
114
|
-
|
|
115
|
-
(0, _createClass2["default"])(RawLine, [{
|
|
116
|
-
key: "UNSAFE_componentWillReceiveProps",
|
|
117
|
-
value: function UNSAFE_componentWillReceiveProps(nextProps) {
|
|
118
|
-
if (!(0, _isEqual["default"])(this.props.data, nextProps.data)) {
|
|
119
|
-
this.setState({
|
|
120
|
-
line: getData(nextProps.data, nextProps.graphProps.domain)
|
|
121
|
-
});
|
|
122
|
-
}
|
|
123
|
-
}
|
|
124
|
-
}, {
|
|
125
|
-
key: "render",
|
|
126
|
-
value: function render() {
|
|
127
|
-
var _this2 = this;
|
|
128
|
-
|
|
129
|
-
var _this$props = this.props,
|
|
130
|
-
graphProps = _this$props.graphProps,
|
|
131
|
-
data = _this$props.data,
|
|
132
|
-
classes = _this$props.classes,
|
|
133
|
-
CustomDraggableComponent = _this$props.CustomDraggableComponent,
|
|
134
|
-
defineChart = _this$props.defineChart;
|
|
135
|
-
var _this$state = this.state,
|
|
136
|
-
lineState = _this$state.line,
|
|
137
|
-
dragging = _this$state.dragging;
|
|
138
|
-
var scale = graphProps.scale;
|
|
139
|
-
var lineToUse = dragging ? lineState : getData(data, graphProps.domain);
|
|
140
|
-
return /*#__PURE__*/_react["default"].createElement(_react["default"].Fragment, null, /*#__PURE__*/_react["default"].createElement(_shape.LinePath, {
|
|
141
|
-
data: lineToUse,
|
|
142
|
-
x: function x(d) {
|
|
143
|
-
return scale.x(d.x);
|
|
144
|
-
},
|
|
145
|
-
y: function y(d) {
|
|
146
|
-
return scale.y(d.dragValue !== undefined ? d.dragValue : d.y);
|
|
147
|
-
},
|
|
148
|
-
className: classes.line
|
|
149
|
-
}), lineToUse && lineToUse.map(function (point, i) {
|
|
150
|
-
var r = 6;
|
|
151
|
-
var enableDraggable = defineChart || point.interactive;
|
|
152
|
-
var Component = enableDraggable ? _dragHandle["default"] : _dragHandle.DragHandle;
|
|
153
|
-
return /*#__PURE__*/_react["default"].createElement(Component, {
|
|
154
|
-
key: "point-".concat(point.x, "-").concat(i),
|
|
155
|
-
x: point.x,
|
|
156
|
-
y: point.dragValue !== undefined ? point.dragValue : point.y,
|
|
157
|
-
interactive: enableDraggable,
|
|
158
|
-
r: r,
|
|
159
|
-
onDragStart: function onDragStart() {
|
|
160
|
-
return _this2.setState({
|
|
161
|
-
dragging: true
|
|
162
|
-
});
|
|
163
|
-
},
|
|
164
|
-
onDrag: function onDrag(v) {
|
|
165
|
-
return _this2.dragValue(i, point.dragValue !== undefined ? point.dragValue : point.y, v);
|
|
166
|
-
},
|
|
167
|
-
onDragStop: function onDragStop() {
|
|
168
|
-
return _this2.dragStop(i);
|
|
169
|
-
},
|
|
170
|
-
graphProps: graphProps,
|
|
171
|
-
CustomDraggableComponent: CustomDraggableComponent,
|
|
172
|
-
correctness: point.correctness
|
|
173
|
-
});
|
|
174
|
-
}));
|
|
175
|
-
}
|
|
176
|
-
}]);
|
|
177
|
-
return RawLine;
|
|
178
|
-
}(_react["default"].Component);
|
|
179
|
-
|
|
180
|
-
exports.RawLine = RawLine;
|
|
181
|
-
(0, _defineProperty2["default"])(RawLine, "propTypes", {
|
|
182
|
-
onChange: _propTypes["default"].func,
|
|
183
|
-
value: _propTypes["default"].number,
|
|
184
|
-
classes: _propTypes["default"].object,
|
|
185
|
-
label: _propTypes["default"].string,
|
|
186
|
-
xBand: _propTypes["default"].func,
|
|
187
|
-
index: _propTypes["default"].number.isRequired,
|
|
188
|
-
graphProps: _plot.types.GraphPropsType.isRequired,
|
|
189
|
-
defineChart: _propTypes["default"].bool,
|
|
190
|
-
data: _propTypes["default"].arrayOf(_propTypes["default"].shape({
|
|
191
|
-
label: _propTypes["default"].string,
|
|
192
|
-
value: _propTypes["default"].number
|
|
193
|
-
})),
|
|
194
|
-
CustomDraggableComponent: _propTypes["default"].func
|
|
195
|
-
});
|
|
196
|
-
(0, _defineProperty2["default"])(RawLine, "defaultProps", {
|
|
197
|
-
index: 0
|
|
198
|
-
});
|
|
199
|
-
var StyledLine = (0, _index.withStyles)(function () {
|
|
200
|
-
return {
|
|
201
|
-
line: {
|
|
202
|
-
fill: 'transparent',
|
|
203
|
-
stroke: _renderUi.color.primaryLight(),
|
|
204
|
-
strokeWidth: 3,
|
|
205
|
-
transition: 'stroke 200ms ease-in, stroke-width 200ms ease-in',
|
|
206
|
-
'&:hover': {
|
|
207
|
-
strokeWidth: 6,
|
|
208
|
-
stroke: _renderUi.color.primaryDark()
|
|
209
|
-
}
|
|
210
|
-
}
|
|
211
|
-
};
|
|
212
|
-
})(RawLine);
|
|
213
|
-
|
|
214
|
-
var Line = /*#__PURE__*/function (_React$Component2) {
|
|
215
|
-
(0, _inherits2["default"])(Line, _React$Component2);
|
|
216
|
-
|
|
217
|
-
var _super2 = _createSuper(Line);
|
|
218
|
-
|
|
219
|
-
function Line() {
|
|
220
|
-
var _this3;
|
|
221
|
-
|
|
222
|
-
(0, _classCallCheck2["default"])(this, Line);
|
|
223
|
-
|
|
224
|
-
for (var _len = arguments.length, args = new Array(_len), _key = 0; _key < _len; _key++) {
|
|
225
|
-
args[_key] = arguments[_key];
|
|
226
|
-
}
|
|
227
|
-
|
|
228
|
-
_this3 = _super2.call.apply(_super2, [this].concat(args));
|
|
229
|
-
(0, _defineProperty2["default"])((0, _assertThisInitialized2["default"])(_this3), "changeLine", function (index, category) {
|
|
230
|
-
var onChange = _this3.props.onChange;
|
|
231
|
-
var newLine = (0, _toConsumableArray2["default"])(_this3.props.data);
|
|
232
|
-
var dragValue = category.dragValue,
|
|
233
|
-
value = category.value;
|
|
234
|
-
newLine[index].value = dragValue >= 0 ? dragValue : value;
|
|
235
|
-
onChange(newLine);
|
|
236
|
-
});
|
|
237
|
-
return _this3;
|
|
238
|
-
}
|
|
239
|
-
|
|
240
|
-
(0, _createClass2["default"])(Line, [{
|
|
241
|
-
key: "render",
|
|
242
|
-
value: function render() {
|
|
243
|
-
var props = this.props;
|
|
244
|
-
return /*#__PURE__*/_react["default"].createElement(_group.Group, null, /*#__PURE__*/_react["default"].createElement(StyledLine, (0, _extends2["default"])({}, props, {
|
|
245
|
-
onChange: this.changeLine
|
|
246
|
-
})));
|
|
247
|
-
}
|
|
248
|
-
}]);
|
|
249
|
-
return Line;
|
|
250
|
-
}(_react["default"].Component);
|
|
251
|
-
|
|
252
|
-
exports.Line = Line;
|
|
253
|
-
(0, _defineProperty2["default"])(Line, "propTypes", {
|
|
254
|
-
data: _propTypes["default"].array,
|
|
255
|
-
onChange: _propTypes["default"].func,
|
|
256
|
-
xBand: _propTypes["default"].func,
|
|
257
|
-
graphProps: _plot.types.GraphPropsType.isRequired
|
|
258
|
-
});
|
|
259
|
-
var _default = Line;
|
|
260
|
-
exports["default"] = _default;
|
|
261
|
-
//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uLy4uL3NyYy9saW5lL2NvbW1vbi9saW5lLmpzeCJdLCJuYW1lcyI6WyJnZXREYXRhIiwiZGF0YSIsImRvbWFpbiIsIm1heCIsImxlbmd0aCIsIm1hcCIsImVsIiwiaSIsIngiLCJ5IiwidmFsdWUiLCJSYXdMaW5lIiwicHJvcHMiLCJsaW5lIiwic2V0U3RhdGUiLCJpbmRleCIsIm9uQ2hhbmdlIiwiZHJhZ2dpbmciLCJzdGF0ZSIsImV4aXN0aW5nIiwibmV4dCIsIm5ld0xpbmUiLCJkcmFnVmFsdWUiLCJzZXREcmFnVmFsdWUiLCJ1bmRlZmluZWQiLCJncmFwaFByb3BzIiwibmV4dFByb3BzIiwiY2xhc3NlcyIsIkN1c3RvbURyYWdnYWJsZUNvbXBvbmVudCIsImRlZmluZUNoYXJ0IiwibGluZVN0YXRlIiwic2NhbGUiLCJsaW5lVG9Vc2UiLCJkIiwicG9pbnQiLCJyIiwiZW5hYmxlRHJhZ2dhYmxlIiwiaW50ZXJhY3RpdmUiLCJDb21wb25lbnQiLCJEcmFnZ2FibGVIYW5kbGUiLCJEcmFnSGFuZGxlIiwidiIsImRyYWdTdG9wIiwiY29ycmVjdG5lc3MiLCJSZWFjdCIsIlByb3BUeXBlcyIsImZ1bmMiLCJudW1iZXIiLCJvYmplY3QiLCJsYWJlbCIsInN0cmluZyIsInhCYW5kIiwiaXNSZXF1aXJlZCIsInR5cGVzIiwiR3JhcGhQcm9wc1R5cGUiLCJib29sIiwiYXJyYXlPZiIsInNoYXBlIiwiU3R5bGVkTGluZSIsImZpbGwiLCJzdHJva2UiLCJjb2xvciIsInByaW1hcnlMaWdodCIsInN0cm9rZVdpZHRoIiwidHJhbnNpdGlvbiIsInByaW1hcnlEYXJrIiwiTGluZSIsImNhdGVnb3J5IiwiY2hhbmdlTGluZSIsImFycmF5Il0sIm1hcHBpbmdzIjoiOzs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7OztBQUFBOztBQUNBOztBQUNBOztBQUNBOztBQUNBOztBQUNBOztBQUNBOztBQUNBOztBQUNBOzs7Ozs7Ozs7Ozs7OztBQUVBLElBQU1BLE9BQU8s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V0FFRCxrQkFBUztBQUNQLFVBQU1ULEtBQUssR0FBRyxLQUFLQSxLQUFuQjtBQUVBLDBCQUNFLGdDQUFDLFlBQUQscUJBQ0UsZ0NBQUMsVUFBRCxnQ0FBZ0JBLEtBQWhCO0FBQXVCLFFBQUEsUUFBUSxFQUFFLEtBQUt3RDtBQUF0QyxTQURGLENBREY7QUFLRDs7O0VBMUJ1QnhCLGtCQUFNTixTOzs7aUNBQW5CNEIsSSxlQUNRO0FBQ2pCakUsRUFBQUEsSUFBSSxFQUFFNEMsc0JBQVV3QixLQURDO0FBRWpCckQsRUFBQUEsUUFBUSxFQUFFNkIsc0JBQVVDLElBRkg7QUFHakJLLEVBQUFBLEtBQUssRUFBRU4sc0JBQVVDLElBSEE7QUFJakJyQixFQUFBQSxVQUFVLEVBQUU0QixZQUFNQyxjQUFOLENBQXFCRjtBQUpoQixDO2VBNEJOYyxJIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IFJlYWN0IGZyb20gJ3JlYWN0JztcbmltcG9ydCB7IEdyb3VwIH0gZnJvbSAnQHZ4L2dyb3VwJztcbmltcG9ydCB7IExpbmVQYXRoIH0gZnJvbSAnQHZ4L3NoYXBlJztcbmltcG9ydCBQcm9wVHlwZXMgZnJvbSAncHJvcC10eXBlcyc7XG5pbXBvcnQgeyB0eXBlcyB9IGZyb20gJ0BwaWUtbGliL3Bsb3QnO1xuaW1wb3J0IERyYWdnYWJsZUhhbmRsZSwgeyBEcmFnSGFuZGxlIH0gZnJvbSAnLi9kcmFnLWhhbmRsZSc7XG5pbXBvcnQgeyB3aXRoU3R5bGVzIH0gZnJvbSAnQG1hdGVyaWFsLXVpL2NvcmUvc3R5bGVzL2luZGV4JztcbmltcG9ydCBpc0VxdWFsIGZyb20gJ2xvZGFzaC9pc0VxdWFsJztcbmltcG9ydCB7IGNvbG9yIH0gZnJvbSAnQHBpZS1saWIvcmVuZGVyLXVpJztcblxuY29uc3QgZ2V0RGF0YSA9IChkYXRhLCBkb21haW4pID0+IHtcbiAgY29uc3QgeyBtYXggfSA9IGRvbWFpbiB8fCB7fTtcbiAgY29uc3QgbGVuZ3RoID0gZGF0YS5sZW5ndGg7XG5cbiAgaWYgKCFtYXggfHwgIWxlbmd0aCkge1xuICAgIHJldHVybiBbXTtcbiAgfVxuXG4gIHJldHVybiBkYXRhLm1hcCgoZWwsIGkpID0+ICh7XG4gICAgLi4uZWwsXG4gICAgeDogbGVuZ3RoID4gMSA/IGkgKiAobWF4IC8gKGxlbmd0aCAtIDEpKSA6IDAuNSxcbiAgICB5OiBlbC52YWx1ZSxcbiAgfSkpO1xufTtcblxuZXhwb3J0IGNsYXNzIFJhd0xpbmUgZXh0ZW5kcyBSZWFjdC5Db21wb25lbnQge1xuICBzdGF0aWMgcHJvcFR5cGVzID0ge1xuICAgIG9uQ2hhbmdlOiBQcm9wVHlwZXMuZnVuYyxcbiAgICB2YWx1ZTogUHJvcFR5cGVzLm51bWJlcixcbiAgICBjbGFzc2VzOiBQcm9wVHlwZXMub2JqZWN0LFxuICAgIGxhYmVsOiBQcm9wVHlwZXMuc3RyaW5nLFxuICAgIHhCYW5kOiBQcm9wVHlwZXMuZnVuYyxcbiAgICBpbmRleDogUHJvcFR5cGVzLm51bWJlci5pc1JlcXVpcmVkLFxuICAgIGdyYXBoUHJvcHM6IHR5cGVzLkdyYXBoUHJvcHNUeXBlLmlzUmVxdWlyZWQsXG4gICAgZGVmaW5lQ2hhcnQ6IFByb3BUeXBlcy5ib29sLFxuICAgIGRhdGE6IFByb3BUeXBlcy5hcnJheU9mKFxuICAgICAgUHJvcFR5cGVzLnNoYXBlKHtcbiAgICAgICAgbGFiZWw6IFByb3BUeXBlcy5zdHJpbmcsXG4gICAgICAgIHZhbHVlOiBQcm9wVHlwZXMubnVtYmVyLFxuICAgICAgfSksXG4gICAgKSxcbiAgICBDdXN0b21EcmFnZ2FibGVDb21wb25lbnQ6IFByb3BUeXBlcy5mdW5jLFxuICB9O1xuXG4gIHN0YXRpYyBkZWZhdWx0UHJvcHMgPSB7XG4gICAgaW5kZXg6IDAsXG4gIH07XG5cbiAgY29uc3RydWN0b3IocHJvcHMpIHtcbiAgICBzdXBlcihwcm9wcyk7XG4gICAgdGhpcy5zdGF0ZSA9IHtcbiAgICAgIGRyYWdWYWx1ZTogdW5kZWZpbmVkLFxuICAgICAgbGluZTogZ2V0RGF0YShwcm9wcy5kYXRhLCBwcm9wcy5ncmFwaFByb3BzLmRvbWFpbiksXG4gICAgfTtcbiAgfVxuXG4gIFVOU0FGRV9jb21wb25lbnRXaWxsUmVjZWl2ZVByb3BzKG5leHRQcm9wcykge1xuICAgIGlmICghaXNFcXVhbCh0aGlzLnByb3BzLmRhdGEsIG5leHRQcm9wcy5kYXRhKSkge1xuICAgICAgdGhpcy5zZXRTdGF0ZSh7XG4gICAgICAgIGxpbmU6IGdldERhdGEobmV4dFByb3BzLmRhdGEsIG5leHRQcm9wcy5ncmFwaFByb3BzLmRvbWFpbiksXG4gICAgICB9KTtcbiAgICB9XG4gIH1cblxuICBzZXREcmFnVmFsdWUgPSAobGluZSkgPT4gdGhpcy5zZXRTdGF0ZSh7IGxpbmUgfSk7XG5cbiAgZHJhZ1N0b3AgPSAoaW5kZXgpID0+IHtcbiAgICBjb25zdCB7IG9uQ2hhbmdlIH0gPSB0aGlzLnByb3BzO1xuICAgIHRoaXMuc2V0U3RhdGUoeyBkcmFnZ2luZzogZmFsc2UgfSwgKCkgPT4ge1xuICAgICAgb25DaGFuZ2UoaW5kZXgsIHRoaXMuc3RhdGUubGluZVtpbmRleF0pO1xuICAgIH0pO1xuICB9O1xuXG4gIGRyYWdWYWx1ZSA9IChpbmRleCwgZXhpc3RpbmcsIG5leHQpID0+IHtcbiAgICBjb25zdCBuZXdMaW5lID0gWy4uLnRoaXMuc3RhdGUubGluZV07XG4gICAgbmV3TGluZVtpbmRleF0uZHJhZ1ZhbHVlID0gbmV4dDtcbiAgICB0aGlzLnNldERyYWdWYWx1ZShuZXdMaW5lKTtcbiAgfTtcblxuICByZW5kZXIoKSB7XG4gICAgY29uc3QgeyBncmFwaFByb3BzLCBkYXRhLCBjbGFzc2VzLCBDdXN0b21EcmFnZ2FibGVDb21wb25lbnQsIGRlZmluZUNoYXJ0IH0gPSB0aGlzLnByb3BzO1xuICAgIGNvbnN0IHsgbGluZTogbGluZVN0YXRlLCBkcmFnZ2luZyB9ID0gdGhpcy5zdGF0ZTtcbiAgICBjb25zdCB7IHNjYWxlIH0gPSBncmFwaFByb3BzO1xuICAgIGNvbnN0IGxpbmVUb1VzZSA9IGRyYWdnaW5nID8gbGluZVN0YXRlIDogZ2V0RGF0YShkYXRhLCBncmFwaFByb3BzLmRvbWFpbik7XG5cbiAgICByZXR1cm4gKFxuICAgICAgPFJlYWN0LkZyYWdtZW50PlxuICAgICAgICA8TGluZVBhdGhcbiAgICAgICAgICBkYXRhPXtsaW5lVG9Vc2V9XG4gICAgICAgICAgeD17KGQpID0+IHNjYWxlLngoZC54KX1cbiAgICAgICAgICB5PXsoZCkgPT4gc2NhbGUueShkLmRyYWdWYWx1ZSAhPT0gdW5kZWZpbmVkID8gZC5kcmFnVmFsdWUgOiBkLnkpfVxuICAgICAgICAgIGNsYXNzTmFtZT17Y2xhc3Nlcy5saW5lfVxuICAgICAgICAvPlxuICAgICAgICB7bGluZVRvVXNlICYmXG4gICAgICAgICAgbGluZVRvVXNlLm1hcCgocG9pbnQsIGkpID0+IHtcbiAgICAgICAgICAgIGNvbnN0IHIgPSA2O1xuICAgICAgICAgICAgY29uc3QgZW5hYmxlRHJhZ2dhYmxlID0gZGVmaW5lQ2hhcnQgfHwgcG9pbnQuaW50ZXJhY3RpdmU7XG4gICAgICAgICAgICBjb25zdCBDb21wb25lbnQgPSBlbmFibGVEcmFnZ2FibGUgPyBEcmFnZ2FibGVIYW5kbGUgOiBEcmFnSGFuZGxlO1xuXG4gICAgICAgICAgICByZXR1cm4gKFxuICAgICAgICAgICAgICA8Q29tcG9uZW50XG4gICAgICAgICAgICAgICAga2V5PXtgcG9pbnQtJHtwb2ludC54fS0ke2l9YH1cbiAgICAgICAgICAgICAgICB4PXtwb2ludC54fVxuICAgICAgICAgICAgICAgIHk9e3BvaW50LmRyYWdWYWx1ZSAhPT0gdW5kZWZpbmVkID8gcG9pbnQuZHJhZ1ZhbHVlIDogcG9pbnQueX1cbiAgICAgICAgICAgICAgICBpbnRlcmFjdGl2ZT17ZW5hYmxlRHJhZ2dhYmxlfVxuICAgICAgICAgICAgICAgIHI9e3J9XG4gICAgICAgICAgICAgICAgb25EcmFnU3RhcnQ9eygpID0+IHRoaXMuc2V0U3RhdGUoeyBkcmFnZ2luZzogdHJ1ZSB9KX1cbiAgICAgICAgICAgICAgICBvbkRyYWc9eyh2KSA9PiB0aGlzLmRyYWdWYWx1ZShpLCBwb2ludC5kcmFnVmFsdWUgIT09IHVuZGVmaW5lZCA/IHBvaW50LmRyYWdWYWx1ZSA6IHBvaW50LnksIHYpfVxuICAgICAgICAgICAgICAgIG9uRHJhZ1N0b3A9eygpID0+IHRoaXMuZHJhZ1N0b3AoaSl9XG4gICAgICAgICAgICAgICAgZ3JhcGhQcm9wcz17Z3JhcGhQcm9wc31cbiAgICAgICAgICAgICAgICBDdXN0b21EcmFnZ2FibGVDb21wb25lbnQ9e0N1c3RvbURyYWdnYWJsZUNvbXBvbmVudH1cbiAgICAgICAgICAgICAgICBjb3JyZWN0bmVzcz17cG9pbnQuY29ycmVjdG5lc3N9XG4gICAgICAgICAgICAgIC8+XG4gICAgICAgICAgICApO1xuICAgICAgICAgIH0pfVxuICAgICAgPC9SZWFjdC5GcmFnbWVudD5cbiAgICApO1xuICB9XG59XG5cbmNvbnN0IFN0eWxlZExpbmUgPSB3aXRoU3R5bGVzKCgpID0+ICh7XG4gIGxpbmU6IHtcbiAgICBmaWxsOiAndHJhbnNwYXJlbnQnLFxuICAgIHN0cm9rZTogY29sb3IucHJpbWFyeUxpZ2h0KCksXG4gICAgc3Ryb2tlV2lkdGg6IDMsXG4gICAgdHJhbnNpdGlvbjogJ3N0cm9rZSAyMDBtcyBlYXNlLWluLCBzdHJva2Utd2lkdGggMjAwbXMgZWFzZS1pbicsXG4gICAgJyY6aG92ZXInOiB7XG4gICAgICBzdHJva2VXaWR0aDogNixcbiAgICAgIHN0cm9rZTogY29sb3IucHJpbWFyeURhcmsoKSxcbiAgICB9LFxuICB9LFxufSkpKFJhd0xpbmUpO1xuXG5leHBvcnQgY2xhc3MgTGluZSBleHRlbmRzIFJlYWN0LkNvbXBvbmVudCB7XG4gIHN0YXRpYyBwcm9wVHlwZXMgPSB7XG4gICAgZGF0YTogUHJvcFR5cGVzLmFycmF5LFxuICAgIG9uQ2hhbmdlOiBQcm9wVHlwZXMuZnVuYyxcbiAgICB4QmFuZDogUHJvcFR5cGVzLmZ1bmMsXG4gICAgZ3JhcGhQcm9wczogdHlwZXMuR3JhcGhQcm9wc1R5cGUuaXNSZXF1aXJlZCxcbiAgfTtcblxuICBjaGFuZ2VMaW5lID0gKGluZGV4LCBjYXRlZ29yeSkgPT4ge1xuICAgIGNvbnN0IHsgb25DaGFuZ2UgfSA9IHRoaXMucHJvcHM7XG4gICAgY29uc3QgbmV3TGluZSA9IFsuLi50aGlzLnByb3BzLmRhdGFdO1xuICAgIGNvbnN0IHsgZHJhZ1ZhbHVlLCB2YWx1ZSB9ID0gY2F0ZWdvcnk7XG5cbiAgICBuZXdMaW5lW2luZGV4XS52YWx1ZSA9IGRyYWdWYWx1ZSA+PSAwID8gZHJhZ1ZhbHVlIDogdmFsdWU7XG5cbiAgICBvbkNoYW5nZShuZXdMaW5lKTtcbiAgfTtcblxuICByZW5kZXIoKSB7XG4gICAgY29uc3QgcHJvcHMgPSB0aGlzLnByb3BzO1xuXG4gICAgcmV0dXJuIChcbiAgICAgIDxHcm91cD5cbiAgICAgICAgPFN0eWxlZExpbmUgey4uLnByb3BzfSBvbkNoYW5nZT17dGhpcy5jaGFuZ2VMaW5lfSAvPlxuICAgICAgPC9Hcm91cD5cbiAgICApO1xuICB9XG59XG5cbmV4cG9ydCBkZWZhdWx0IExpbmU7XG4iXX0=
|
package/lib/line/line-cross.js
DELETED
|
@@ -1,168 +0,0 @@
|
|
|
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"] = exports.LineCross = 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 _inherits2 = _interopRequireDefault(require("@babel/runtime/helpers/inherits"));
|
|
15
|
-
|
|
16
|
-
var _possibleConstructorReturn2 = _interopRequireDefault(require("@babel/runtime/helpers/possibleConstructorReturn"));
|
|
17
|
-
|
|
18
|
-
var _getPrototypeOf2 = _interopRequireDefault(require("@babel/runtime/helpers/getPrototypeOf"));
|
|
19
|
-
|
|
20
|
-
var _defineProperty2 = _interopRequireDefault(require("@babel/runtime/helpers/defineProperty"));
|
|
21
|
-
|
|
22
|
-
var _extends2 = _interopRequireDefault(require("@babel/runtime/helpers/extends"));
|
|
23
|
-
|
|
24
|
-
var _objectWithoutProperties2 = _interopRequireDefault(require("@babel/runtime/helpers/objectWithoutProperties"));
|
|
25
|
-
|
|
26
|
-
var _react = _interopRequireDefault(require("react"));
|
|
27
|
-
|
|
28
|
-
var _propTypes = _interopRequireDefault(require("prop-types"));
|
|
29
|
-
|
|
30
|
-
var _plot = require("@pie-lib/plot");
|
|
31
|
-
|
|
32
|
-
var _shape = require("@vx/shape");
|
|
33
|
-
|
|
34
|
-
var _group = require("@vx/group");
|
|
35
|
-
|
|
36
|
-
var _classnames = _interopRequireDefault(require("classnames"));
|
|
37
|
-
|
|
38
|
-
var _utils = require("../utils");
|
|
39
|
-
|
|
40
|
-
var _line = _interopRequireDefault(require("./common/line"));
|
|
41
|
-
|
|
42
|
-
var _excluded = ["classes", "className", "scale", "x", "y", "r", "correctness"];
|
|
43
|
-
|
|
44
|
-
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); }; }
|
|
45
|
-
|
|
46
|
-
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; } }
|
|
47
|
-
|
|
48
|
-
var DraggableComponent = function DraggableComponent(props) {
|
|
49
|
-
var _props$classes = props.classes,
|
|
50
|
-
classes = _props$classes === void 0 ? {} : _props$classes,
|
|
51
|
-
className = props.className,
|
|
52
|
-
scale = props.scale,
|
|
53
|
-
x = props.x,
|
|
54
|
-
y = props.y,
|
|
55
|
-
r = props.r,
|
|
56
|
-
correctness = props.correctness,
|
|
57
|
-
rest = (0, _objectWithoutProperties2["default"])(props, _excluded);
|
|
58
|
-
return /*#__PURE__*/_react["default"].createElement(_group.Group, {
|
|
59
|
-
className: (0, _classnames["default"])(className, classes.line, correctness && correctness.value)
|
|
60
|
-
}, /*#__PURE__*/_react["default"].createElement(_shape.LinePath, {
|
|
61
|
-
data: [{
|
|
62
|
-
x: scale.x(x) - r,
|
|
63
|
-
y: scale.y(y) + r
|
|
64
|
-
}, {
|
|
65
|
-
x: scale.x(x) + r,
|
|
66
|
-
y: scale.y(y) - r
|
|
67
|
-
}],
|
|
68
|
-
key: "point-".concat(x, "-").concat(y, "-1"),
|
|
69
|
-
x: function x(d) {
|
|
70
|
-
return d.x;
|
|
71
|
-
},
|
|
72
|
-
y: function y(d) {
|
|
73
|
-
return d.y;
|
|
74
|
-
},
|
|
75
|
-
strokeWidth: 5,
|
|
76
|
-
style: {
|
|
77
|
-
pointerEvents: 'none'
|
|
78
|
-
}
|
|
79
|
-
}), /*#__PURE__*/_react["default"].createElement(_shape.LinePath, {
|
|
80
|
-
data: [{
|
|
81
|
-
x: scale.x(x) - r,
|
|
82
|
-
y: scale.y(y) - r
|
|
83
|
-
}, {
|
|
84
|
-
x: scale.x(x) + r,
|
|
85
|
-
y: scale.y(y) + r
|
|
86
|
-
}],
|
|
87
|
-
key: "point-".concat(x, "-").concat(y, "-2"),
|
|
88
|
-
x: function x(d) {
|
|
89
|
-
return d.x;
|
|
90
|
-
},
|
|
91
|
-
y: function y(d) {
|
|
92
|
-
return d.y;
|
|
93
|
-
},
|
|
94
|
-
strokeWidth: 5,
|
|
95
|
-
style: {
|
|
96
|
-
pointerEvents: 'none'
|
|
97
|
-
}
|
|
98
|
-
}), /*#__PURE__*/_react["default"].createElement("circle", (0, _extends2["default"])({
|
|
99
|
-
cx: scale.x(x),
|
|
100
|
-
cy: scale.y(y),
|
|
101
|
-
r: r * 2,
|
|
102
|
-
className: (0, _classnames["default"])(classes.transparentHandle)
|
|
103
|
-
}, rest)));
|
|
104
|
-
};
|
|
105
|
-
|
|
106
|
-
DraggableComponent.propTypes = {
|
|
107
|
-
scale: _propTypes["default"].object,
|
|
108
|
-
x: _propTypes["default"].number,
|
|
109
|
-
y: _propTypes["default"].number,
|
|
110
|
-
r: _propTypes["default"].number,
|
|
111
|
-
className: _propTypes["default"].string,
|
|
112
|
-
classes: _propTypes["default"].object,
|
|
113
|
-
correctness: _propTypes["default"].shape({
|
|
114
|
-
value: _propTypes["default"].string,
|
|
115
|
-
label: _propTypes["default"].string
|
|
116
|
-
})
|
|
117
|
-
};
|
|
118
|
-
|
|
119
|
-
var LineCross = /*#__PURE__*/function (_React$Component) {
|
|
120
|
-
(0, _inherits2["default"])(LineCross, _React$Component);
|
|
121
|
-
|
|
122
|
-
var _super = _createSuper(LineCross);
|
|
123
|
-
|
|
124
|
-
function LineCross() {
|
|
125
|
-
(0, _classCallCheck2["default"])(this, LineCross);
|
|
126
|
-
return _super.apply(this, arguments);
|
|
127
|
-
}
|
|
128
|
-
|
|
129
|
-
(0, _createClass2["default"])(LineCross, [{
|
|
130
|
-
key: "render",
|
|
131
|
-
value: function render() {
|
|
132
|
-
var props = this.props;
|
|
133
|
-
var data = props.data,
|
|
134
|
-
graphProps = props.graphProps;
|
|
135
|
-
|
|
136
|
-
var _ref = graphProps || {},
|
|
137
|
-
_ref$scale = _ref.scale,
|
|
138
|
-
scale = _ref$scale === void 0 ? {} : _ref$scale,
|
|
139
|
-
_ref$size = _ref.size,
|
|
140
|
-
size = _ref$size === void 0 ? {} : _ref$size;
|
|
141
|
-
|
|
142
|
-
var xBand = (0, _utils.dataToXBand)(scale.x, data, size.width, 'lineCross');
|
|
143
|
-
return /*#__PURE__*/_react["default"].createElement(_line["default"], (0, _extends2["default"])({}, props, {
|
|
144
|
-
xBand: xBand,
|
|
145
|
-
CustomDraggableComponent: DraggableComponent
|
|
146
|
-
}));
|
|
147
|
-
}
|
|
148
|
-
}]);
|
|
149
|
-
return LineCross;
|
|
150
|
-
}(_react["default"].Component);
|
|
151
|
-
|
|
152
|
-
exports.LineCross = LineCross;
|
|
153
|
-
(0, _defineProperty2["default"])(LineCross, "propTypes", {
|
|
154
|
-
data: _propTypes["default"].array,
|
|
155
|
-
onChange: _propTypes["default"].func,
|
|
156
|
-
graphProps: _plot.types.GraphPropsType.isRequired
|
|
157
|
-
});
|
|
158
|
-
|
|
159
|
-
var _default = function _default() {
|
|
160
|
-
return {
|
|
161
|
-
type: 'lineCross',
|
|
162
|
-
Component: LineCross,
|
|
163
|
-
name: 'Line Cross'
|
|
164
|
-
};
|
|
165
|
-
};
|
|
166
|
-
|
|
167
|
-
exports["default"] = _default;
|
|
168
|
-
//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy9saW5lL2xpbmUtY3Jvc3MuanMiXSwibmFtZXMiOlsiRHJhZ2dhYmxlQ29tcG9uZW50IiwicHJvcHMiLCJjbGFzc2VzIiwiY2xhc3NOYW1lIiwic2NhbGUiLCJ4IiwieSIsInIiLCJjb3JyZWN0bmVzcyIsInJlc3QiLCJsaW5lIiwidmFsdWUiLCJkIiwicG9pbnRlckV2ZW50cyIsInRyYW5zcGFyZW50SGFuZGxlIiwicHJvcFR5cGVzIiwiUHJvcFR5cGVzIiwib2JqZWN0IiwibnVtYmVyIiwic3RyaW5nIiwic2hhcGUiLCJsYWJlbCIsIkxpbmVDcm9zcyIsImRhdGEiLCJncmFwaFByb3BzIiwic2l6ZSIsInhCYW5kIiwid2lkdGgiLCJSZWFjdCIsIkNvbXBvbmVudCIsImFycmF5Iiwib25DaGFuZ2UiLCJmdW5jIiwidHlwZXMiLCJHcmFwaFByb3BzVHlwZSIsImlzUmVxdWlyZWQiLCJ0eXBlIiwibmFtZSJdLCJtYXBwaW5ncyI6Ijs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7OztBQUFBOztBQUNBOztBQUNBOztBQUNBOztBQUNBOztBQUNBOztBQUNBOztBQUNBOzs7Ozs7OztBQUVBLElBQU1BLGtCQUFrQixHQUFHLFNBQXJCQSxrQkFBcUIsQ0FBQ0MsS0FBRCxFQUFXO0FBQ3BDLHVCQUEwRUEsS0FBMUUsQ0FBUUMsT0FBUjtBQUFBLE1BQVFBLE9BQVIsK0JBQWtCLEVBQWxCO0FBQUEsTUFBc0JDLFNBQXRCLEdBQTBFRixLQUExRSxDQUFzQkUsU0FBdEI7QUFBQSxNQUFpQ0MsS0FBakMsR0FBMEVILEtBQTFFLENBQWlDRyxLQUFqQztBQUFBLE1BQXdDQyxDQUF4QyxHQUEwRUosS0FBMUUsQ0FBd0NJLENBQXhDO0FBQUEsTUFBMkNDLENBQTNDLEdBQTBFTCxLQUExRSxDQUEyQ0ssQ0FBM0M7QUFBQSxNQUE4Q0MsQ0FBOUMsR0FBMEVOLEtBQTFFLENBQThDTSxDQUE5QztBQUFBLE1BQWlEQyxXQUFqRCxHQUEwRVAsS0FBMUUsQ0FBaURPLFdBQWpE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ZW50IjpbImltcG9ydCBSZWFjdCBmcm9tICdyZWFjdCc7XG5pbXBvcnQgUHJvcFR5cGVzIGZyb20gJ3Byb3AtdHlwZXMnO1xuaW1wb3J0IHsgdHlwZXMgfSBmcm9tICdAcGllLWxpYi9wbG90JztcbmltcG9ydCB7IExpbmVQYXRoIH0gZnJvbSAnQHZ4L3NoYXBlJztcbmltcG9ydCB7IEdyb3VwIH0gZnJvbSAnQHZ4L2dyb3VwJztcbmltcG9ydCBjbGFzc05hbWVzIGZyb20gJ2NsYXNzbmFtZXMnO1xuaW1wb3J0IHsgZGF0YVRvWEJhbmQgfSBmcm9tICcuLi91dGlscyc7XG5pbXBvcnQgUmF3TGluZSBmcm9tICcuL2NvbW1vbi9saW5lJztcblxuY29uc3QgRHJhZ2dhYmxlQ29tcG9uZW50ID0gKHByb3BzKSA9PiB7XG4gIGNvbnN0IHsgY2xhc3NlcyA9IHt9LCBjbGFzc05hbWUsIHNjYWxlLCB4LCB5LCByLCBjb3JyZWN0bmVzcywgLi4ucmVzdCB9ID0gcHJvcHM7XG5cbiAgcmV0dXJuIChcbiAgICA8R3JvdXAgY2xhc3NOYW1lPXtjbGFzc05hbWVzKGNsYXNzTmFtZSwgY2xhc3Nlcy5saW5lLCBjb3JyZWN0bmVzcyAmJiBjb3JyZWN0bmVzcy52YWx1ZSl9PlxuICAgICAgPExpbmVQYXRoXG4gICAgICAgIGRhdGE9e1tcbiAgICAgICAgICB7IHg6IHNjYWxlLngoeCkgLSByLCB5OiBzY2FsZS55KHkpICsgciB9LFxuICAgICAgICAgIHsgeDogc2NhbGUueCh4KSArIHIsIHk6IHNjYWxlLnkoeSkgLSByIH0sXG4gICAgICAgIF19XG4gICAgICAgIGtleT17YHBvaW50LSR7eH0tJHt5fS0xYH1cbiAgICAgICAgeD17KGQpID0+IGQueH1cbiAgICAgICAgeT17KGQpID0+IGQueX1cbiAgICAgICAgc3Ryb2tlV2lkdGg9ezV9XG4gICAgICAgIHN0eWxlPXt7IHBvaW50ZXJFdmVudHM6ICdub25lJyB9fVxuICAgICAgLz5cbiAgICAgIDxMaW5lUGF0aFxuICAgICAgICBkYXRhPXtbXG4gICAgICAgICAgeyB4OiBzY2FsZS54KHgpIC0gciwgeTogc2NhbGUueSh5KSAtIHIgfSxcbiAgICAgICAgICB7IHg6IHNjYWxlLngoeCkgKyByLCB5OiBzY2FsZS55KHkpICsgciB9LFxuICAgICAgICBdfVxuICAgICAgICBrZXk9e2Bwb2ludC0ke3h9LSR7eX0tMmB9XG4gICAgICAgIHg9eyhkKSA9PiBkLnh9XG4gICAgICAgIHk9eyhkKSA9PiBkLnl9XG4gICAgICAgIHN0cm9rZVdpZHRoPXs1fVxuICAgICAgICBzdHlsZT17eyBwb2ludGVyRXZlbnRzOiAnbm9uZScgfX1cbiAgICAgIC8+XG4gICAgICA8Y2lyY2xlIGN4PXtzY2FsZS54KHgpfSBjeT17c2NhbGUueSh5KX0gcj17ciAqIDJ9IGNsYXNzTmFtZT17Y2xhc3NOYW1lcyhjbGFzc2VzLnRyYW5zcGFyZW50SGFuZGxlKX0gey4uLnJlc3R9IC8+XG4gICAgPC9Hcm91cD5cbiAgKTtcbn07XG5cbkRyYWdnYWJsZUNvbXBvbmVudC5wcm9wVHlwZXMgPSB7XG4gIHNjYWxlOiBQcm9wVHlwZXMub2JqZWN0LFxuICB4OiBQcm9wVHlwZXMubnVtYmVyLFxuICB5OiBQcm9wVHlwZXMubnVtYmVyLFxuICByOiBQcm9wVHlwZXMubnVtYmVyLFxuICBjbGFzc05hbWU6IFByb3BUeXBlcy5zdHJpbmcsXG4gIGNsYXNzZXM6IFByb3BUeXBlcy5vYmplY3QsXG4gIGNvcnJlY3RuZXNzOiBQcm9wVHlwZXMuc2hhcGUoe1xuICAgIHZhbHVlOiBQcm9wVHlwZXMuc3RyaW5nLFxuICAgIGxhYmVsOiBQcm9wVHlwZXMuc3RyaW5nLFxuICB9KSxcbn07XG5cbmV4cG9ydCBjbGFzcyBMaW5lQ3Jvc3MgZXh0ZW5kcyBSZWFjdC5Db21wb25lbnQge1xuICBzdGF0aWMgcHJvcFR5cGVzID0ge1xuICAgIGRhdGE6IFByb3BUeXBlcy5hcnJheSxcbiAgICBvbkNoYW5nZTogUHJvcFR5cGVzLmZ1bmMsXG4gICAgZ3JhcGhQcm9wczogdHlwZXMuR3JhcGhQcm9wc1R5cGUuaXNSZXF1aXJlZCxcbiAgfTtcblxuICByZW5kZXIoKSB7XG4gICAgY29uc3QgcHJvcHMgPSB0aGlzLnByb3BzO1xuICAgIGNvbnN0IHsgZGF0YSwgZ3JhcGhQcm9wcyB9ID0gcHJvcHM7XG4gICAgY29uc3QgeyBzY2FsZSA9IHt9LCBzaXplID0ge30gfSA9IGdyYXBoUHJvcHMgfHwge307XG4gICAgY29uc3QgeEJhbmQgPSBkYXRhVG9YQmFuZChzY2FsZS54LCBkYXRhLCBzaXplLndpZHRoLCAnbGluZUNyb3NzJyk7XG5cbiAgICByZXR1cm4gPFJhd0xpbmUgey4uLnByb3BzfSB4QmFuZD17eEJhbmR9IEN1c3RvbURyYWdnYWJsZUNvbXBvbmVudD17RHJhZ2dhYmxlQ29tcG9uZW50fSAvPjtcbiAgfVxufVxuXG5leHBvcnQgZGVmYXVsdCAoKSA9PiAoe1xuICB0eXBlOiAnbGluZUNyb3NzJyxcbiAgQ29tcG9uZW50OiBMaW5lQ3Jvc3MsXG4gIG5hbWU6ICdMaW5lIENyb3NzJyxcbn0pO1xuIl19
|
package/lib/line/line-dot.js
DELETED
|
@@ -1,131 +0,0 @@
|
|
|
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"] = exports.LineDot = 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 _inherits2 = _interopRequireDefault(require("@babel/runtime/helpers/inherits"));
|
|
15
|
-
|
|
16
|
-
var _possibleConstructorReturn2 = _interopRequireDefault(require("@babel/runtime/helpers/possibleConstructorReturn"));
|
|
17
|
-
|
|
18
|
-
var _getPrototypeOf2 = _interopRequireDefault(require("@babel/runtime/helpers/getPrototypeOf"));
|
|
19
|
-
|
|
20
|
-
var _defineProperty2 = _interopRequireDefault(require("@babel/runtime/helpers/defineProperty"));
|
|
21
|
-
|
|
22
|
-
var _extends2 = _interopRequireDefault(require("@babel/runtime/helpers/extends"));
|
|
23
|
-
|
|
24
|
-
var _objectWithoutProperties2 = _interopRequireDefault(require("@babel/runtime/helpers/objectWithoutProperties"));
|
|
25
|
-
|
|
26
|
-
var _react = _interopRequireDefault(require("react"));
|
|
27
|
-
|
|
28
|
-
var _propTypes = _interopRequireDefault(require("prop-types"));
|
|
29
|
-
|
|
30
|
-
var _plot = require("@pie-lib/plot");
|
|
31
|
-
|
|
32
|
-
var _utils = require("../utils");
|
|
33
|
-
|
|
34
|
-
var _line = _interopRequireDefault(require("./common/line"));
|
|
35
|
-
|
|
36
|
-
var _classnames = _interopRequireDefault(require("classnames"));
|
|
37
|
-
|
|
38
|
-
var _excluded = ["scale", "x", "y", "className", "classes", "r", "correctness"];
|
|
39
|
-
|
|
40
|
-
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); }; }
|
|
41
|
-
|
|
42
|
-
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; } }
|
|
43
|
-
|
|
44
|
-
var DraggableComponent = function DraggableComponent(_ref) {
|
|
45
|
-
var scale = _ref.scale,
|
|
46
|
-
x = _ref.x,
|
|
47
|
-
y = _ref.y,
|
|
48
|
-
className = _ref.className,
|
|
49
|
-
classes = _ref.classes,
|
|
50
|
-
r = _ref.r,
|
|
51
|
-
correctness = _ref.correctness,
|
|
52
|
-
rest = (0, _objectWithoutProperties2["default"])(_ref, _excluded);
|
|
53
|
-
return /*#__PURE__*/_react["default"].createElement("g", null, /*#__PURE__*/_react["default"].createElement("circle", (0, _extends2["default"])({
|
|
54
|
-
cx: scale.x(x),
|
|
55
|
-
cy: scale.y(y),
|
|
56
|
-
r: r * 3,
|
|
57
|
-
className: (0, _classnames["default"])(classes.transparentHandle, className),
|
|
58
|
-
style: {
|
|
59
|
-
pointerEvents: 'none'
|
|
60
|
-
}
|
|
61
|
-
}, rest)), /*#__PURE__*/_react["default"].createElement("circle", (0, _extends2["default"])({
|
|
62
|
-
cx: scale.x(x),
|
|
63
|
-
cy: scale.y(y),
|
|
64
|
-
r: r,
|
|
65
|
-
className: (0, _classnames["default"])(className, classes.handle, correctness && correctness.value)
|
|
66
|
-
}, rest)));
|
|
67
|
-
};
|
|
68
|
-
|
|
69
|
-
DraggableComponent.propTypes = {
|
|
70
|
-
scale: _propTypes["default"].object,
|
|
71
|
-
x: _propTypes["default"].number,
|
|
72
|
-
y: _propTypes["default"].number,
|
|
73
|
-
r: _propTypes["default"].number,
|
|
74
|
-
className: _propTypes["default"].string,
|
|
75
|
-
classes: _propTypes["default"].object,
|
|
76
|
-
correctness: _propTypes["default"].shape({
|
|
77
|
-
value: _propTypes["default"].string,
|
|
78
|
-
label: _propTypes["default"].string
|
|
79
|
-
})
|
|
80
|
-
};
|
|
81
|
-
|
|
82
|
-
var LineDot = /*#__PURE__*/function (_React$Component) {
|
|
83
|
-
(0, _inherits2["default"])(LineDot, _React$Component);
|
|
84
|
-
|
|
85
|
-
var _super = _createSuper(LineDot);
|
|
86
|
-
|
|
87
|
-
function LineDot() {
|
|
88
|
-
(0, _classCallCheck2["default"])(this, LineDot);
|
|
89
|
-
return _super.apply(this, arguments);
|
|
90
|
-
}
|
|
91
|
-
|
|
92
|
-
(0, _createClass2["default"])(LineDot, [{
|
|
93
|
-
key: "render",
|
|
94
|
-
value: function render() {
|
|
95
|
-
var props = this.props;
|
|
96
|
-
var data = props.data,
|
|
97
|
-
graphProps = props.graphProps;
|
|
98
|
-
|
|
99
|
-
var _ref2 = graphProps || {},
|
|
100
|
-
_ref2$scale = _ref2.scale,
|
|
101
|
-
scale = _ref2$scale === void 0 ? {} : _ref2$scale,
|
|
102
|
-
_ref2$size = _ref2.size,
|
|
103
|
-
size = _ref2$size === void 0 ? {} : _ref2$size;
|
|
104
|
-
|
|
105
|
-
var xBand = (0, _utils.dataToXBand)(scale.x, data, size.width, 'lineDot');
|
|
106
|
-
return /*#__PURE__*/_react["default"].createElement(_line["default"], (0, _extends2["default"])({}, props, {
|
|
107
|
-
xBand: xBand,
|
|
108
|
-
CustomDraggableComponent: DraggableComponent
|
|
109
|
-
}));
|
|
110
|
-
}
|
|
111
|
-
}]);
|
|
112
|
-
return LineDot;
|
|
113
|
-
}(_react["default"].Component);
|
|
114
|
-
|
|
115
|
-
exports.LineDot = LineDot;
|
|
116
|
-
(0, _defineProperty2["default"])(LineDot, "propTypes", {
|
|
117
|
-
data: _propTypes["default"].array,
|
|
118
|
-
onChange: _propTypes["default"].func,
|
|
119
|
-
graphProps: _plot.types.GraphPropsType.isRequired
|
|
120
|
-
});
|
|
121
|
-
|
|
122
|
-
var _default = function _default() {
|
|
123
|
-
return {
|
|
124
|
-
type: 'lineDot',
|
|
125
|
-
Component: LineDot,
|
|
126
|
-
name: 'Line Dot'
|
|
127
|
-
};
|
|
128
|
-
};
|
|
129
|
-
|
|
130
|
-
exports["default"] = _default;
|
|
131
|
-
//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy9saW5lL2xpbmUtZG90LmpzIl0sIm5hbWVzIjpbIkRyYWdnYWJsZUNvbXBvbmVudCIsInNjYWxlIiwieCIsInkiLCJjbGFzc05hbWUiLCJjbGFzc2VzIiwiciIsImNvcnJlY3RuZXNzIiwicmVzdCIsInRyYW5zcGFyZW50SGFuZGxlIiwicG9pbnRlckV2ZW50cyIsImhhbmRsZSIsInZhbHVlIiwicHJvcFR5cGVzIiwiUHJvcFR5cGVzIiwib2JqZWN0IiwibnVtYmVyIiwic3RyaW5nIiwic2hhcGUiLCJsYWJlbCIsIkxpbmVEb3QiLCJwcm9wcyIsImRhdGEiLCJncmFwaFByb3BzIiwic2l6ZSIsInhCYW5kIiwid2lkdGgiLCJSZWFjdCIsIkNvbXBvbmVudCIsImFycmF5Iiwib25DaGFuZ2UiLCJmdW5jIiwidHlwZXMiLCJHcmFwaFByb3BzVHlwZSIsImlzUmVxdWlyZWQiLCJ0eXBlIiwibmFtZSJdLCJtYXBwaW5ncyI6Ijs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7OztBQUFBOztBQUNBOztBQUNBOztBQUNBOztBQUNBOztBQUNBOzs7Ozs7OztBQUVBLElBQU1BLGtCQUFrQixHQUFHLFNBQXJCQSxrQkFBcUI7QUFBQSxNQUFHQyxLQUFILFFBQUdBLEtBQUg7QUFBQSxNQUFVQyxDQUFWLFFBQVVBLENBQVY7QUFBQSxNQUFhQyxDQUFiLFFBQWFBLENBQWI7QUFBQSxNQUFnQkMsU0FBaEIsUUFBZ0JBLFNBQWhCO0FBQUEsTUFBMkJDLE9BQTNCLFFBQTJCQSxPQUEzQjtBQUFBLE1BQW9DQyxDQUFwQyxRQUFvQ0EsQ0FBcEM7QUFBQSxNQUF1Q0MsV0FBdkMsUUFBdUNBLFdBQXZDO0FBQUEsTUFBdURDLElBQXZEO0FBQUEsc0JBQ3pCLHdEQUNFO0FBQ0UsSUFBQSxFQUFFLEVBQUVQLEtBQUssQ0FBQ0MsQ0FBTixDQUFRQSxDQUFSLENBRE47QUFFRSxJQUFBLEVBQUUsRUFBRUQsS0FBSyxDQUFDRSxDQUFOLENBQVFBLENBQVIsQ0FGTjtBQUdFLElBQUEsQ0FBQyxFQUFFRyxDQUFDLEdBQUcsQ0FIVDtBQUlFLElBQUEsU0FBUyxFQUFFLDRCQUFXRCxPQUFPLENBQUNJLGlCQUFuQixFQUFzQ0wsU0FBdEMsQ0FKYjtBQUtFLElBQUEsS0FBSyxFQUFFO0FBQUVNLE1BQUFBLGFBQWEsRUFBRTtBQUFqQjtBQUxULEtBTU1GLElBTk4sRUFERixlQVNFO0FBQ0UsSUFBQSxFQUFFLEVBQUVQLEtBQUssQ0FBQ0MsQ0FBTixDQUFRQSxDQUFSLENBRE47QUFFRSxJQUFBLEVBQUUsRUFBRUQsS0FBSyxDQUFDRSxDQUFOLENBQVFBLENBQVIsQ0FGTjtBQUdFLElBQUEsQ0FBQyxFQUFFRyxDQUhMO0FBSUUsSUFBQSxTQUFTLEVBQUUsNEJBQVdGLFNBQVgsRUFBc0JDLE9BQU8sQ0FBQ00sTUFBOUIsRUFBc0NKLFdBQVcsSUFBSUEsV0FBVyxDQUFDSyxLQUFqRTtBQUpiLEtBS01KLElBTE4sRUFURixDQUR5QjtBQUFBLENBQTNCOztBQW9CQVIsa0JBQWtCLENBQUNhLFNBQW5CLEdBQStCO0FBQzdCWixFQUFBQSxLQUFLLEVBQUVhLHNCQUFVQyxNQURZO0FBRTdCYixFQUFBQSxDQUFDLEVBQUVZLHNCQUFVRSxNQUZnQjtBQUc3QmIsRUFBQUEsQ0FBQyxFQUFFVyxzQkFBVUUsTUFIZ0I7QUFJN0JWLEVBQUFBLENBQUMsRUFBRVEsc0JBQVVFLE1BSmdCO0FBSzdCWixFQUFBQSxTQUFTLEVBQUVVLHNCQUFVRyxNQUxRO0FBTTdCWixFQUFBQSxPQUFPLEVBQUVTLHNCQUFVQyxNQU5VO0FBTzdCUixFQUFBQSxXQUFXLEVBQUVPLHNCQUFVSSxLQUFWLENBQWdCO0FBQzNCTixJQUFBQSxLQUFLLEVBQUVFLHNCQUFVRyxNQURVO0FBRTNCRSxJQUFBQSxLQUFLLEVBQUVMLHNCQUFVRztBQUZVLEdBQWhCO0FBUGdCLENBQS9COztJQWFhRyxPOzs7Ozs7Ozs7Ozs7V0FPWCxrQkFBUztBQUNQLFVBQU1DLEtBQUssR0FBRyxLQUFLQSxLQUFuQjtBQUNBLFVBQVFDLElBQVIsR0FBNkJELEtBQTdCLENBQVFDLElBQVI7QUFBQSxVQUFjQyxVQUFkLEdBQTZCRixLQUE3QixDQUFjRSxVQUFkOztBQUNBLGtCQUFrQ0EsVUFBVSxJQUFJLEVBQWhEO0FBQUEsOEJBQVF0QixLQUFSO0FBQUEsVUFBUUEsS0FBUiw0QkFBZ0IsRUFBaEI7QUFBQSw2QkFBb0J1QixJQUFwQjtBQUFBLFVBQW9CQSxJQUFwQiwyQkFBMkIsRUFBM0I7O0FBQ0EsVUFBTUMsS0FBSyxHQUFHLHdCQUFZeEIsS0FBSyxDQUFDQyxDQUFsQixFQUFxQm9CLElBQXJCLEVBQTJCRSxJQUFJLENBQUNFLEtBQWhDLEVBQXVDLFNBQXZDLENBQWQ7QUFFQSwwQkFBTyxnQ0FBQyxnQkFBRCxnQ0FBYUwsS0FBYjtBQUFvQixRQUFBLEtBQUssRUFBRUksS0FBM0I7QUFBa0MsUUFBQSx3QkFBd0IsRUFBRXpCO0FBQTVELFNBQVA7QUFDRDs7O0VBZDBCMkIsa0JBQU1DLFM7OztpQ0FBdEJSLE8sZUFDUTtBQUNqQkUsRUFBQUEsSUFBSSxFQUFFUixzQkFBVWUsS0FEQztBQUVqQkMsRUFBQUEsUUFBUSxFQUFFaEIsc0JBQVVpQixJQUZIO0FBR2pCUixFQUFBQSxVQUFVLEVBQUVTLFlBQU1DLGNBQU4sQ0FBcUJDO0FBSGhCLEM7O2VBZ0JOO0FBQUEsU0FBTztBQUNwQkMsSUFBQUEsSUFBSSxFQUFFLFNBRGM7QUFFcEJQLElBQUFBLFNBQVMsRUFBRVIsT0FGUztBQUdwQmdCLElBQUFBLElBQUksRUFBRTtBQUhjLEdBQVA7QUFBQSxDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IFJlYWN0IGZyb20gJ3JlYWN0JztcbmltcG9ydCBQcm9wVHlwZXMgZnJvbSAncHJvcC10eXBlcyc7XG5pbXBvcnQgeyB0eXBlcyB9IGZyb20gJ0BwaWUtbGliL3Bsb3QnO1xuaW1wb3J0IHsgZGF0YVRvWEJhbmQgfSBmcm9tICcuLi91dGlscyc7XG5pbXBvcnQgUmF3TGluZSBmcm9tICcuL2NvbW1vbi9saW5lJztcbmltcG9ydCBjbGFzc05hbWVzIGZyb20gJ2NsYXNzbmFtZXMnO1xuXG5jb25zdCBEcmFnZ2FibGVDb21wb25lbnQgPSAoeyBzY2FsZSwgeCwgeSwgY2xhc3NOYW1lLCBjbGFzc2VzLCByLCBjb3JyZWN0bmVzcywgLi4ucmVzdCB9KSA9PiAoXG4gIDxnPlxuICAgIDxjaXJjbGVcbiAgICAgIGN4PXtzY2FsZS54KHgpfVxuICAgICAgY3k9e3NjYWxlLnkoeSl9XG4gICAgICByPXtyICogM31cbiAgICAgIGNsYXNzTmFtZT17Y2xhc3NOYW1lcyhjbGFzc2VzLnRyYW5zcGFyZW50SGFuZGxlLCBjbGFzc05hbWUpfVxuICAgICAgc3R5bGU9e3sgcG9pbnRlckV2ZW50czogJ25vbmUnIH19XG4gICAgICB7Li4ucmVzdH1cbiAgICAvPlxuICAgIDxjaXJjbGVcbiAgICAgIGN4PXtzY2FsZS54KHgpfVxuICAgICAgY3k9e3NjYWxlLnkoeSl9XG4gICAgICByPXtyfVxuICAgICAgY2xhc3NOYW1lPXtjbGFzc05hbWVzKGNsYXNzTmFtZSwgY2xhc3Nlcy5oYW5kbGUsIGNvcnJlY3RuZXNzICYmIGNvcnJlY3RuZXNzLnZhbHVlKX1cbiAgICAgIHsuLi5yZXN0fVxuICAgIC8+XG4gIDwvZz5cbik7XG5cbkRyYWdnYWJsZUNvbXBvbmVudC5wcm9wVHlwZXMgPSB7XG4gIHNjYWxlOiBQcm9wVHlwZXMub2JqZWN0LFxuICB4OiBQcm9wVHlwZXMubnVtYmVyLFxuICB5OiBQcm9wVHlwZXMubnVtYmVyLFxuICByOiBQcm9wVHlwZXMubnVtYmVyLFxuICBjbGFzc05hbWU6IFByb3BUeXBlcy5zdHJpbmcsXG4gIGNsYXNzZXM6IFByb3BUeXBlcy5vYmplY3QsXG4gIGNvcnJlY3RuZXNzOiBQcm9wVHlwZXMuc2hhcGUoe1xuICAgIHZhbHVlOiBQcm9wVHlwZXMuc3RyaW5nLFxuICAgIGxhYmVsOiBQcm9wVHlwZXMuc3RyaW5nLFxuICB9KSxcbn07XG5cbmV4cG9ydCBjbGFzcyBMaW5lRG90IGV4dGVuZHMgUmVhY3QuQ29tcG9uZW50IHtcbiAgc3RhdGljIHByb3BUeXBlcyA9IHtcbiAgICBkYXRhOiBQcm9wVHlwZXMuYXJyYXksXG4gICAgb25DaGFuZ2U6IFByb3BUeXBlcy5mdW5jLFxuICAgIGdyYXBoUHJvcHM6IHR5cGVzLkdyYXBoUHJvcHNUeXBlLmlzUmVxdWlyZWQsXG4gIH07XG5cbiAgcmVuZGVyKCkge1xuICAgIGNvbnN0IHByb3BzID0gdGhpcy5wcm9wcztcbiAgICBjb25zdCB7IGRhdGEsIGdyYXBoUHJvcHMgfSA9IHByb3BzO1xuICAgIGNvbnN0IHsgc2NhbGUgPSB7fSwgc2l6ZSA9IHt9IH0gPSBncmFwaFByb3BzIHx8IHt9O1xuICAgIGNvbnN0IHhCYW5kID0gZGF0YVRvWEJhbmQoc2NhbGUueCwgZGF0YSwgc2l6ZS53aWR0aCwgJ2xpbmVEb3QnKTtcblxuICAgIHJldHVybiA8UmF3TGluZSB7Li4ucHJvcHN9IHhCYW5kPXt4QmFuZH0gQ3VzdG9tRHJhZ2dhYmxlQ29tcG9uZW50PXtEcmFnZ2FibGVDb21wb25lbnR9IC8+O1xuICB9XG59XG5cbmV4cG9ydCBkZWZhdWx0ICgpID0+ICh7XG4gIHR5cGU6ICdsaW5lRG90JyxcbiAgQ29tcG9uZW50OiBMaW5lRG90LFxuICBuYW1lOiAnTGluZSBEb3QnLFxufSk7XG4iXX0=
|