@pie-lib/graphing 2.4.9 → 2.4.12
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/CHANGELOG.md +33 -0
- package/lib/axis/arrow.js +17 -13
- package/lib/axis/arrow.js.map +1 -1
- package/lib/axis/axes.js +57 -51
- package/lib/axis/axes.js.map +1 -1
- package/lib/axis/index.js +5 -1
- package/lib/axis/index.js.map +1 -1
- package/lib/bg.js +16 -14
- package/lib/bg.js.map +1 -1
- package/lib/container/index.js +21 -15
- package/lib/container/index.js.map +1 -1
- package/lib/coordinates-label.js +4 -4
- package/lib/coordinates-label.js.map +1 -1
- package/lib/graph-with-controls.js +29 -25
- package/lib/graph-with-controls.js.map +1 -1
- package/lib/graph.js +56 -42
- package/lib/graph.js.map +1 -1
- package/lib/grid.js +20 -14
- package/lib/grid.js.map +1 -1
- package/lib/index.js +5 -1
- package/lib/index.js.map +1 -1
- package/lib/labels.js +28 -24
- package/lib/labels.js.map +1 -1
- package/lib/mark-label.js +16 -8
- package/lib/mark-label.js.map +1 -1
- package/lib/toggle-bar.js +18 -16
- package/lib/toggle-bar.js.map +1 -1
- package/lib/tool-menu.js +22 -16
- package/lib/tool-menu.js.map +1 -1
- package/lib/tools/circle/bg-circle.js +26 -18
- package/lib/tools/circle/bg-circle.js.map +1 -1
- package/lib/tools/circle/component.js +30 -28
- package/lib/tools/circle/component.js.map +1 -1
- package/lib/tools/circle/index.js +4 -4
- package/lib/tools/circle/index.js.map +1 -1
- package/lib/tools/index.js +16 -15
- package/lib/tools/index.js.map +1 -1
- package/lib/tools/line/component.js +12 -6
- package/lib/tools/line/component.js.map +1 -1
- package/lib/tools/parabola/component.js.map +1 -1
- package/lib/tools/parabola/index.js +4 -4
- package/lib/tools/parabola/index.js.map +1 -1
- package/lib/tools/point/component.js +21 -17
- package/lib/tools/point/component.js.map +1 -1
- package/lib/tools/point/index.js +2 -2
- package/lib/tools/polygon/component.js +55 -47
- package/lib/tools/polygon/component.js.map +1 -1
- package/lib/tools/polygon/index.js +12 -8
- package/lib/tools/polygon/index.js.map +1 -1
- package/lib/tools/polygon/line.js +26 -18
- package/lib/tools/polygon/line.js.map +1 -1
- package/lib/tools/polygon/polygon.js +26 -18
- package/lib/tools/polygon/polygon.js.map +1 -1
- package/lib/tools/ray/component.js +12 -6
- package/lib/tools/ray/component.js.map +1 -1
- package/lib/tools/segment/component.js +4 -2
- package/lib/tools/segment/component.js.map +1 -1
- package/lib/tools/shared/arrow-head.js +4 -4
- package/lib/tools/shared/arrow-head.js.map +1 -1
- package/lib/tools/shared/line/index.js +46 -44
- package/lib/tools/shared/line/index.js.map +1 -1
- package/lib/tools/shared/line/line-path.js +28 -20
- package/lib/tools/shared/line/line-path.js.map +1 -1
- package/lib/tools/shared/line/with-root-edge.js +8 -6
- package/lib/tools/shared/line/with-root-edge.js.map +1 -1
- package/lib/tools/shared/point/arrow-point.js +21 -15
- package/lib/tools/shared/point/arrow-point.js.map +1 -1
- package/lib/tools/shared/point/arrow.js +22 -50
- package/lib/tools/shared/point/arrow.js.map +1 -1
- package/lib/tools/shared/point/base-point.js +22 -16
- package/lib/tools/shared/point/base-point.js.map +1 -1
- package/lib/tools/shared/point/index.js +8 -4
- package/lib/tools/shared/point/index.js.map +1 -1
- package/lib/tools/shared/styles.js +1 -1
- package/lib/tools/shared/types.js +1 -1
- package/lib/tools/sine/component.js.map +1 -1
- package/lib/tools/sine/index.js +4 -4
- package/lib/tools/sine/index.js.map +1 -1
- package/lib/tools/vector/component.js +21 -8
- package/lib/tools/vector/component.js.map +1 -1
- package/lib/undo-redo.js +20 -16
- package/lib/undo-redo.js.map +1 -1
- package/lib/use-debounce.js +7 -3
- package/lib/use-debounce.js.map +1 -1
- package/lib/utils.js +70 -5
- package/lib/utils.js.map +1 -1
- package/package.json +4 -4
- package/src/axis/axes.jsx +1 -1
- package/src/graph.jsx +13 -6
- package/src/tools/shared/point/arrow.jsx +1 -30
- package/src/tools/vector/component.jsx +20 -6
- package/src/utils.js +62 -4
|
@@ -1,9 +1,11 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
|
|
3
|
+
function _typeof(obj) { "@babel/helpers - typeof"; return _typeof = "function" == typeof Symbol && "symbol" == typeof Symbol.iterator ? function (obj) { return typeof obj; } : function (obj) { return obj && "function" == typeof Symbol && obj.constructor === Symbol && obj !== Symbol.prototype ? "symbol" : typeof obj; }, _typeof(obj); }
|
|
4
|
+
|
|
3
5
|
Object.defineProperty(exports, "__esModule", {
|
|
4
6
|
value: true
|
|
5
7
|
});
|
|
6
|
-
exports.styles = exports.
|
|
8
|
+
exports.styles = exports.lineToolComponent = exports.lineTool = exports.lineBase = void 0;
|
|
7
9
|
|
|
8
10
|
var _react = _interopRequireDefault(require("react"));
|
|
9
11
|
|
|
@@ -29,29 +31,31 @@ var _utils = require("../../../utils");
|
|
|
29
31
|
|
|
30
32
|
function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { "default": obj }; }
|
|
31
33
|
|
|
32
|
-
function _typeof(obj) { if (typeof Symbol === "function" && typeof Symbol.iterator === "symbol") { _typeof = function _typeof(obj) { return typeof obj; }; } else { _typeof = function _typeof(obj) { return obj && typeof Symbol === "function" && obj.constructor === Symbol && obj !== Symbol.prototype ? "symbol" : typeof obj; }; } return _typeof(obj); }
|
|
33
|
-
|
|
34
34
|
function _extends() { _extends = Object.assign || function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; }; return _extends.apply(this, arguments); }
|
|
35
35
|
|
|
36
36
|
function _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError("Cannot call a class as a function"); } }
|
|
37
37
|
|
|
38
38
|
function _defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if ("value" in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } }
|
|
39
39
|
|
|
40
|
-
function _createClass(Constructor, protoProps, staticProps) { if (protoProps) _defineProperties(Constructor.prototype, protoProps); if (staticProps) _defineProperties(Constructor, staticProps); return Constructor; }
|
|
40
|
+
function _createClass(Constructor, protoProps, staticProps) { if (protoProps) _defineProperties(Constructor.prototype, protoProps); if (staticProps) _defineProperties(Constructor, staticProps); Object.defineProperty(Constructor, "prototype", { writable: false }); return Constructor; }
|
|
41
41
|
|
|
42
|
-
function
|
|
42
|
+
function _inherits(subClass, superClass) { if (typeof superClass !== "function" && superClass !== null) { throw new TypeError("Super expression must either be null or a function"); } subClass.prototype = Object.create(superClass && superClass.prototype, { constructor: { value: subClass, writable: true, configurable: true } }); Object.defineProperty(subClass, "prototype", { writable: false }); if (superClass) _setPrototypeOf(subClass, superClass); }
|
|
43
43
|
|
|
44
|
-
function
|
|
44
|
+
function _setPrototypeOf(o, p) { _setPrototypeOf = Object.setPrototypeOf || function _setPrototypeOf(o, p) { o.__proto__ = p; return o; }; return _setPrototypeOf(o, p); }
|
|
45
|
+
|
|
46
|
+
function _createSuper(Derived) { var hasNativeReflectConstruct = _isNativeReflectConstruct(); return function _createSuperInternal() { var Super = _getPrototypeOf(Derived), result; if (hasNativeReflectConstruct) { var NewTarget = _getPrototypeOf(this).constructor; result = Reflect.construct(Super, arguments, NewTarget); } else { result = Super.apply(this, arguments); } return _possibleConstructorReturn(this, result); }; }
|
|
47
|
+
|
|
48
|
+
function _possibleConstructorReturn(self, call) { if (call && (_typeof(call) === "object" || typeof call === "function")) { return call; } else if (call !== void 0) { throw new TypeError("Derived constructors may only return object or undefined"); } return _assertThisInitialized(self); }
|
|
45
49
|
|
|
46
50
|
function _assertThisInitialized(self) { if (self === void 0) { throw new ReferenceError("this hasn't been initialised - super() hasn't been called"); } return self; }
|
|
47
51
|
|
|
48
|
-
function
|
|
52
|
+
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; } }
|
|
49
53
|
|
|
50
|
-
function
|
|
54
|
+
function _getPrototypeOf(o) { _getPrototypeOf = Object.setPrototypeOf ? Object.getPrototypeOf : function _getPrototypeOf(o) { return o.__proto__ || Object.getPrototypeOf(o); }; return _getPrototypeOf(o); }
|
|
51
55
|
|
|
52
|
-
function ownKeys(object, enumerableOnly) { var keys = Object.keys(object); if (Object.getOwnPropertySymbols) { var symbols = Object.getOwnPropertySymbols(object);
|
|
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; }
|
|
53
57
|
|
|
54
|
-
function _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]
|
|
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) { _defineProperty(target, key, source[key]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)) : ownKeys(Object(source)).forEach(function (key) { Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key)); }); } return target; }
|
|
55
59
|
|
|
56
60
|
function _defineProperty(obj, key, value) { if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; }
|
|
57
61
|
|
|
@@ -77,7 +81,7 @@ var lineTool = function lineTool(type, Component) {
|
|
|
77
81
|
return _objectSpread({}, mark);
|
|
78
82
|
}
|
|
79
83
|
|
|
80
|
-
return _objectSpread({}, mark, {
|
|
84
|
+
return _objectSpread(_objectSpread({}, mark), {}, {
|
|
81
85
|
building: false,
|
|
82
86
|
to: point
|
|
83
87
|
});
|
|
@@ -89,19 +93,19 @@ var lineTool = function lineTool(type, Component) {
|
|
|
89
93
|
exports.lineTool = lineTool;
|
|
90
94
|
|
|
91
95
|
var lineToolComponent = function lineToolComponent(Component) {
|
|
92
|
-
var _class
|
|
96
|
+
var _class;
|
|
93
97
|
|
|
94
|
-
return
|
|
95
|
-
/*#__PURE__*/
|
|
96
|
-
function (_React$Component) {
|
|
98
|
+
return _class = /*#__PURE__*/function (_React$Component) {
|
|
97
99
|
_inherits(LineToolComponent, _React$Component);
|
|
98
100
|
|
|
101
|
+
var _super = _createSuper(LineToolComponent);
|
|
102
|
+
|
|
99
103
|
function LineToolComponent(props) {
|
|
100
104
|
var _this;
|
|
101
105
|
|
|
102
106
|
_classCallCheck(this, LineToolComponent);
|
|
103
107
|
|
|
104
|
-
_this =
|
|
108
|
+
_this = _super.call(this, props);
|
|
105
109
|
|
|
106
110
|
_defineProperty(_assertThisInitialized(_this), "startDrag", function () {
|
|
107
111
|
return _this.setState({
|
|
@@ -133,13 +137,13 @@ var lineToolComponent = function lineToolComponent(Component) {
|
|
|
133
137
|
to = _ref.to,
|
|
134
138
|
middle = _ref.middle;
|
|
135
139
|
|
|
136
|
-
var mark = _objectSpread({}, _this.state.mark, {
|
|
140
|
+
var mark = _objectSpread(_objectSpread({}, _this.state.mark), {}, {
|
|
137
141
|
from: from,
|
|
138
142
|
to: to
|
|
139
143
|
});
|
|
140
144
|
|
|
141
145
|
if (middle) {
|
|
142
|
-
mark = _objectSpread({}, mark, {
|
|
146
|
+
mark = _objectSpread(_objectSpread({}, mark), {}, {
|
|
143
147
|
middle: middle
|
|
144
148
|
});
|
|
145
149
|
}
|
|
@@ -157,22 +161,22 @@ var lineToolComponent = function lineToolComponent(Component) {
|
|
|
157
161
|
onChange = _this$props2.onChange,
|
|
158
162
|
mark = _this$props2.mark;
|
|
159
163
|
|
|
160
|
-
var update = _objectSpread({}, mark,
|
|
164
|
+
var update = _objectSpread(_objectSpread({}, mark), _this.state.mark);
|
|
161
165
|
|
|
162
166
|
if (from) {
|
|
163
|
-
update = _objectSpread({}, update, {
|
|
167
|
+
update = _objectSpread(_objectSpread({}, update), {}, {
|
|
164
168
|
from: from
|
|
165
169
|
});
|
|
166
170
|
}
|
|
167
171
|
|
|
168
172
|
if (to) {
|
|
169
|
-
update = _objectSpread({}, update, {
|
|
173
|
+
update = _objectSpread(_objectSpread({}, update), {}, {
|
|
170
174
|
to: to
|
|
171
175
|
});
|
|
172
176
|
}
|
|
173
177
|
|
|
174
178
|
if (middle) {
|
|
175
|
-
update = _objectSpread({}, update, {
|
|
179
|
+
update = _objectSpread(_objectSpread({}, update), {}, {
|
|
176
180
|
middle: middle
|
|
177
181
|
});
|
|
178
182
|
}
|
|
@@ -196,7 +200,7 @@ var lineToolComponent = function lineToolComponent(Component) {
|
|
|
196
200
|
labelModeEnabled = _this$props3.labelModeEnabled,
|
|
197
201
|
coordinatesOnHover = _this$props3.coordinatesOnHover;
|
|
198
202
|
var mark = this.state.mark ? this.state.mark : this.props.mark;
|
|
199
|
-
return _react["default"].createElement(Component, {
|
|
203
|
+
return /*#__PURE__*/_react["default"].createElement(Component, {
|
|
200
204
|
disabled: mark.disabled,
|
|
201
205
|
coordinatesOnHover: coordinatesOnHover,
|
|
202
206
|
correctness: mark.correctness,
|
|
@@ -216,9 +220,9 @@ var lineToolComponent = function lineToolComponent(Component) {
|
|
|
216
220
|
}]);
|
|
217
221
|
|
|
218
222
|
return LineToolComponent;
|
|
219
|
-
}(_react["default"].Component), _defineProperty(_class, "propTypes", _objectSpread({}, _plot.types.ToolPropTypeFields, {
|
|
223
|
+
}(_react["default"].Component), _defineProperty(_class, "propTypes", _objectSpread(_objectSpread({}, _plot.types.ToolPropTypeFields), {}, {
|
|
220
224
|
graphProps: _plot.types.GraphPropsType.isRequired
|
|
221
|
-
})),
|
|
225
|
+
})), _class;
|
|
222
226
|
};
|
|
223
227
|
|
|
224
228
|
exports.lineToolComponent = lineToolComponent;
|
|
@@ -253,14 +257,12 @@ var lineBase = function lineBase(Comp, opts) {
|
|
|
253
257
|
var FromPoint = opts && opts.from ? opts.from : _point.BasePoint;
|
|
254
258
|
var ToPoint = opts && opts.to ? opts.to : _point.BasePoint;
|
|
255
259
|
|
|
256
|
-
var LineBase =
|
|
257
|
-
/*#__PURE__*/
|
|
258
|
-
function (_React$Component2) {
|
|
260
|
+
var LineBase = /*#__PURE__*/function (_React$Component2) {
|
|
259
261
|
_inherits(LineBase, _React$Component2);
|
|
260
262
|
|
|
261
|
-
|
|
262
|
-
var _getPrototypeOf2;
|
|
263
|
+
var _super2 = _createSuper(LineBase);
|
|
263
264
|
|
|
265
|
+
function LineBase() {
|
|
264
266
|
var _this2;
|
|
265
267
|
|
|
266
268
|
_classCallCheck(this, LineBase);
|
|
@@ -269,7 +271,7 @@ var lineBase = function lineBase(Comp, opts) {
|
|
|
269
271
|
args[_key] = arguments[_key];
|
|
270
272
|
}
|
|
271
273
|
|
|
272
|
-
_this2 =
|
|
274
|
+
_this2 = _super2.call.apply(_super2, [this].concat(args));
|
|
273
275
|
|
|
274
276
|
_defineProperty(_assertThisInitialized(_this2), "onChangePoint", function (point) {
|
|
275
277
|
var _this2$props = _this2.props,
|
|
@@ -280,7 +282,7 @@ var lineBase = function lineBase(Comp, opts) {
|
|
|
280
282
|
|
|
281
283
|
if (!(0, _utils.equalPoints)(from, to)) {
|
|
282
284
|
if (middle) {
|
|
283
|
-
point.middle = _objectSpread({}, middle,
|
|
285
|
+
point.middle = _objectSpread(_objectSpread({}, middle), (0, _utils.getMiddleOfTwoPoints)(from, to));
|
|
284
286
|
}
|
|
285
287
|
|
|
286
288
|
onChange(point);
|
|
@@ -310,7 +312,7 @@ var lineBase = function lineBase(Comp, opts) {
|
|
|
310
312
|
};
|
|
311
313
|
|
|
312
314
|
if (middle) {
|
|
313
|
-
updated.middle = _objectSpread({}, middle,
|
|
315
|
+
updated.middle = _objectSpread(_objectSpread({}, middle), (0, _utils.getMiddleOfTwoPoints)(draggedFrom, draggedTo));
|
|
314
316
|
}
|
|
315
317
|
|
|
316
318
|
onChange(updated);
|
|
@@ -369,7 +371,7 @@ var lineBase = function lineBase(Comp, opts) {
|
|
|
369
371
|
to = _this2$props5.to;
|
|
370
372
|
|
|
371
373
|
if (type === 'middle' && !point && from && to) {
|
|
372
|
-
point = _objectSpread({}, point,
|
|
374
|
+
point = _objectSpread(_objectSpread({}, point), (0, _utils.getMiddleOfTwoPoints)(from, to));
|
|
373
375
|
}
|
|
374
376
|
|
|
375
377
|
changeMarkProps(_defineProperty({
|
|
@@ -422,7 +424,7 @@ var lineBase = function lineBase(Comp, opts) {
|
|
|
422
424
|
|
|
423
425
|
if (labelNode) {
|
|
424
426
|
if (from && from.hasOwnProperty('label')) {
|
|
425
|
-
fromLabelNode = _reactDom["default"].createPortal(_react["default"].createElement(_markLabel["default"], {
|
|
427
|
+
fromLabelNode = /*#__PURE__*/_reactDom["default"].createPortal( /*#__PURE__*/_react["default"].createElement(_markLabel["default"], {
|
|
426
428
|
inputRef: function inputRef(r) {
|
|
427
429
|
return _this3.input.from = r;
|
|
428
430
|
},
|
|
@@ -430,7 +432,7 @@ var lineBase = function lineBase(Comp, opts) {
|
|
|
430
432
|
mark: from,
|
|
431
433
|
graphProps: graphProps,
|
|
432
434
|
onChange: function onChange(label) {
|
|
433
|
-
return _this3.labelChange(_objectSpread({}, from, {
|
|
435
|
+
return _this3.labelChange(_objectSpread(_objectSpread({}, from), {}, {
|
|
434
436
|
label: label
|
|
435
437
|
}), 'from');
|
|
436
438
|
}
|
|
@@ -438,7 +440,7 @@ var lineBase = function lineBase(Comp, opts) {
|
|
|
438
440
|
}
|
|
439
441
|
|
|
440
442
|
if (to && to.hasOwnProperty('label')) {
|
|
441
|
-
toLabelNode = _reactDom["default"].createPortal(_react["default"].createElement(_markLabel["default"], {
|
|
443
|
+
toLabelNode = /*#__PURE__*/_reactDom["default"].createPortal( /*#__PURE__*/_react["default"].createElement(_markLabel["default"], {
|
|
442
444
|
inputRef: function inputRef(r) {
|
|
443
445
|
return _this3.input.to = r;
|
|
444
446
|
},
|
|
@@ -446,7 +448,7 @@ var lineBase = function lineBase(Comp, opts) {
|
|
|
446
448
|
mark: to,
|
|
447
449
|
graphProps: graphProps,
|
|
448
450
|
onChange: function onChange(label) {
|
|
449
|
-
return _this3.labelChange(_objectSpread({}, to, {
|
|
451
|
+
return _this3.labelChange(_objectSpread(_objectSpread({}, to), {}, {
|
|
450
452
|
label: label
|
|
451
453
|
}), 'to');
|
|
452
454
|
}
|
|
@@ -454,7 +456,7 @@ var lineBase = function lineBase(Comp, opts) {
|
|
|
454
456
|
}
|
|
455
457
|
|
|
456
458
|
if (middle && middle.hasOwnProperty('label')) {
|
|
457
|
-
lineLabelNode = _reactDom["default"].createPortal(_react["default"].createElement(_markLabel["default"], {
|
|
459
|
+
lineLabelNode = /*#__PURE__*/_reactDom["default"].createPortal( /*#__PURE__*/_react["default"].createElement(_markLabel["default"], {
|
|
458
460
|
inputRef: function inputRef(r) {
|
|
459
461
|
return _this3.input.middle = r;
|
|
460
462
|
},
|
|
@@ -462,7 +464,7 @@ var lineBase = function lineBase(Comp, opts) {
|
|
|
462
464
|
mark: middle,
|
|
463
465
|
graphProps: graphProps,
|
|
464
466
|
onChange: function onChange(label) {
|
|
465
|
-
return _this3.labelChange(_objectSpread({}, middle, {
|
|
467
|
+
return _this3.labelChange(_objectSpread(_objectSpread({}, middle), {}, {
|
|
466
468
|
label: label
|
|
467
469
|
}), 'middle');
|
|
468
470
|
}
|
|
@@ -470,7 +472,7 @@ var lineBase = function lineBase(Comp, opts) {
|
|
|
470
472
|
}
|
|
471
473
|
}
|
|
472
474
|
|
|
473
|
-
return _react["default"].createElement("g", null, to && _react["default"].createElement(DraggableComp, _extends({
|
|
475
|
+
return /*#__PURE__*/_react["default"].createElement("g", null, to && /*#__PURE__*/_react["default"].createElement(DraggableComp, _extends({
|
|
474
476
|
from: from,
|
|
475
477
|
to: to,
|
|
476
478
|
middle: middle,
|
|
@@ -479,7 +481,7 @@ var lineBase = function lineBase(Comp, opts) {
|
|
|
479
481
|
onClick: labelModeEnabled ? function () {
|
|
480
482
|
return _this3.clickPoint(middle, 'middle');
|
|
481
483
|
} : common.onClick
|
|
482
|
-
})), lineLabelNode, _react["default"].createElement(FromPoint, _extends({
|
|
484
|
+
})), lineLabelNode, /*#__PURE__*/_react["default"].createElement(FromPoint, _extends({
|
|
483
485
|
x: from.x,
|
|
484
486
|
y: from.y,
|
|
485
487
|
labelNode: labelNode,
|
|
@@ -489,7 +491,7 @@ var lineBase = function lineBase(Comp, opts) {
|
|
|
489
491
|
onClick: labelModeEnabled ? function () {
|
|
490
492
|
return _this3.clickPoint(from, 'from');
|
|
491
493
|
} : common.onClick
|
|
492
|
-
})), fromLabelNode, to && _react["default"].createElement(ToPoint, _extends({
|
|
494
|
+
})), fromLabelNode, to && /*#__PURE__*/_react["default"].createElement(ToPoint, _extends({
|
|
493
495
|
x: to.x,
|
|
494
496
|
y: to.y,
|
|
495
497
|
angle: angle //angle + 45}
|
|
@@ -551,7 +553,7 @@ var styles = {
|
|
|
551
553
|
return _objectSpread({}, (0, _styles.disabled)());
|
|
552
554
|
},
|
|
553
555
|
disabled: function disabled() {
|
|
554
|
-
return _objectSpread({}, (0, _styles.disabled)('stroke'), {
|
|
556
|
+
return _objectSpread(_objectSpread({}, (0, _styles.disabled)('stroke')), {}, {
|
|
555
557
|
strokeWidth: 2
|
|
556
558
|
});
|
|
557
559
|
},
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../../../../src/tools/shared/line/index.jsx"],"names":["lineTool","type","Component","addPoint","point","mark","root","building","from","to","lineToolComponent","props","setState","onChange","update","state","undefined","shouldNotChange","middle","graphProps","onClick","labelNode","labelModeEnabled","coordinatesOnHover","disabled","correctness","changeMark","changeMarkProps","startDrag","stopDrag","React","types","ToolPropTypeFields","GraphPropsType","isRequired","dragOpts","bounds","domain","range","area","utils","lineToArea","anchorPoint","fromDelta","delta","add","lineBase","Comp","opts","DraggableComp","FromPoint","BasePoint","ToPoint","LineBase","draggedFrom","draggedTo","label","updated","onChangePoint","input","focus","onDragStart","onDragStop","common","angle","trig","toDegrees","fromLabelNode","toLabelNode","lineLabelNode","hasOwnProperty","ReactDOM","createPortal","r","labelChange","dragComp","clickPoint","x","y","dragFrom","dragTo","PropTypes","bool","PointType","func","string","object","styles","line","fill","stroke","color","primaryLight","strokeWidth","transition","primaryDark","arrow","secondary","disabledArrow","correct","theme","key","incorrect"],"mappings":"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","sourcesContent":["import React from 'react';\nimport isEqual from 'lodash/isEqual';\nimport { BasePoint } from '../point';\nimport { types, utils, gridDraggable, trig } from '@pie-lib/plot';\nimport PropTypes from 'prop-types';\nimport { disabled, correct, incorrect } from '../styles';\nimport ReactDOM from 'react-dom';\nimport MarkLabel from '../../../mark-label';\nimport isEmpty from 'lodash/isEmpty';\nimport { color } from '@pie-lib/render-ui';\nimport { getMiddleOfTwoPoints, equalPoints, sameAxes } from '../../../utils';\n\nexport const lineTool = (type, Component) => () => ({\n type,\n Component,\n addPoint: (point, mark) => {\n if (mark && equalPoints(mark.root, point)) {\n return mark;\n }\n\n if (!mark) {\n return {\n type,\n building: true,\n from: point\n };\n }\n\n if (equalPoints(point, mark.from)) {\n return { ...mark };\n }\n\n return { ...mark, building: false, to: point };\n }\n});\n\nexport const lineToolComponent = Component => {\n return class LineToolComponent extends React.Component {\n static propTypes = {\n ...types.ToolPropTypeFields,\n graphProps: types.GraphPropsType.isRequired\n };\n\n constructor(props) {\n super(props);\n this.state = {};\n }\n\n startDrag = () => this.setState({ mark: { ...this.props.mark } });\n\n stopDrag = () => {\n const { onChange, mark } = this.props;\n const update = { ...this.state.mark };\n\n this.setState({ mark: undefined }, () => {\n const { type } = update;\n const shouldNotChange =\n type && (type === 'parabola' || type === 'sine') && sameAxes(update.from, update.to);\n\n if (!isEqual(mark, update) && !shouldNotChange) {\n onChange(mark, update);\n }\n });\n };\n\n changeMark = ({ from, to, middle }) => {\n let mark = { ...this.state.mark, from, to };\n\n if (middle) {\n mark = { ...mark, middle };\n }\n\n this.setState({ mark });\n };\n\n changeMarkProps = ({ from, to, middle }) => {\n const { onChange, mark } = this.props;\n let update = { ...mark, ...this.state.mark };\n\n if (from) {\n update = { ...update, from };\n }\n\n if (to) {\n update = { ...update, to };\n }\n\n if (middle) {\n update = { ...update, middle };\n }\n\n if (!isEqual(mark, update)) {\n onChange(mark, update);\n }\n };\n\n render() {\n const { graphProps, onClick, labelNode, labelModeEnabled, coordinatesOnHover } = this.props;\n const mark = this.state.mark ? this.state.mark : this.props.mark;\n\n return (\n <Component\n disabled={mark.disabled}\n coordinatesOnHover={coordinatesOnHover}\n correctness={mark.correctness}\n from={mark.from}\n to={mark.to}\n middle={mark.middle}\n graphProps={graphProps}\n onChange={this.changeMark}\n changeMarkProps={this.changeMarkProps}\n onClick={onClick}\n onDragStart={this.startDrag}\n onDragStop={this.stopDrag}\n labelNode={labelNode}\n labelModeEnabled={labelModeEnabled}\n />\n );\n }\n };\n};\n\nconst dragOpts = () => ({\n bounds: (props, { domain, range }) => {\n const area = utils.lineToArea(props.from, props.to);\n return utils.bounds(area, domain, range);\n },\n anchorPoint: props => {\n const { from } = props;\n return from;\n },\n fromDelta: (props, delta) => {\n const { from, to } = props;\n return {\n from: utils.point(from).add(utils.point(delta)),\n to: utils.point(to).add(utils.point(delta))\n };\n }\n});\n\nexport const lineBase = (Comp, opts) => {\n const DraggableComp = gridDraggable(dragOpts())(Comp);\n\n const FromPoint = opts && opts.from ? opts.from : BasePoint;\n const ToPoint = opts && opts.to ? opts.to : BasePoint;\n\n class LineBase extends React.Component {\n static propTypes = {\n coordinatesOnHover: PropTypes.bool,\n graphProps: types.GraphPropsType,\n from: types.PointType,\n to: types.PointType,\n middle: types.PointType,\n onChange: PropTypes.func,\n onDragStart: PropTypes.func,\n onDragStop: PropTypes.func,\n onClick: PropTypes.func,\n correctness: PropTypes.string,\n disabled: PropTypes.bool,\n labelNode: PropTypes.object,\n labelModeEnabled: PropTypes.bool,\n changeMarkProps: PropTypes.func\n };\n\n onChangePoint = point => {\n const { middle, onChange } = this.props;\n const { from, to } = point;\n\n // because point.from.label and point.to.label can be different\n if (!equalPoints(from, to)) {\n if (middle) {\n point.middle = { ...middle, ...getMiddleOfTwoPoints(from, to) };\n }\n\n onChange(point);\n }\n };\n\n dragComp = ({ from: draggedFrom, to: draggedTo }) => {\n const { from, to, onChange, middle } = this.props;\n\n if (from.label) {\n draggedFrom.label = from.label;\n }\n\n if (to.label) {\n draggedTo.label = to.label;\n }\n\n const updated = { from: draggedFrom, to: draggedTo };\n\n if (middle) {\n updated.middle = { ...middle, ...getMiddleOfTwoPoints(draggedFrom, draggedTo) };\n }\n\n onChange(updated);\n };\n\n dragFrom = draggedFrom => {\n const { from, to } = this.props;\n\n if (from.label) {\n draggedFrom.label = from.label;\n }\n\n if (!equalPoints(draggedFrom, to)) {\n this.onChangePoint({ from: draggedFrom, to: to });\n }\n };\n\n dragTo = draggedTo => {\n const { from, to } = this.props;\n\n if (to.label) {\n draggedTo.label = to.label;\n }\n\n if (!equalPoints(from, draggedTo)) {\n this.onChangePoint({ from: from, to: draggedTo });\n }\n };\n\n labelChange = (point, type) => {\n const { changeMarkProps } = this.props;\n const update = { ...point };\n\n if (!point.label || isEmpty(point.label)) {\n delete update.label;\n }\n\n changeMarkProps({ [type]: update });\n };\n\n clickPoint = (point, type) => {\n const { changeMarkProps, from, to } = this.props;\n\n if (type === 'middle' && !point && from && to) {\n point = { ...point, ...getMiddleOfTwoPoints(from, to) };\n }\n\n changeMarkProps({ from, to, [type]: { label: '', ...point } });\n\n if (this.input[type]) {\n this.input[type].focus();\n }\n };\n\n // IMPORTANT, do not remove\n input = {};\n\n render() {\n const {\n coordinatesOnHover,\n graphProps,\n onDragStart,\n onDragStop,\n from,\n to,\n middle,\n disabled,\n correctness,\n onClick,\n labelNode,\n labelModeEnabled\n } = this.props;\n const common = { graphProps, onDragStart, onDragStop, disabled, correctness, onClick };\n const angle = to ? trig.toDegrees(trig.angle(from, to)) : 0;\n\n let fromLabelNode = null;\n let toLabelNode = null;\n let lineLabelNode = null;\n\n if (labelNode) {\n if (from && from.hasOwnProperty('label')) {\n fromLabelNode = ReactDOM.createPortal(\n <MarkLabel\n inputRef={r => (this.input.from = r)}\n disabled={!labelModeEnabled}\n mark={from}\n graphProps={graphProps}\n onChange={label => this.labelChange({ ...from, label }, 'from')}\n />,\n labelNode\n );\n }\n\n if (to && to.hasOwnProperty('label')) {\n toLabelNode = ReactDOM.createPortal(\n <MarkLabel\n inputRef={r => (this.input.to = r)}\n disabled={!labelModeEnabled}\n mark={to}\n graphProps={graphProps}\n onChange={label => this.labelChange({ ...to, label }, 'to')}\n />,\n labelNode\n );\n }\n\n if (middle && middle.hasOwnProperty('label')) {\n lineLabelNode = ReactDOM.createPortal(\n <MarkLabel\n inputRef={r => (this.input.middle = r)}\n disabled={!labelModeEnabled}\n mark={middle}\n graphProps={graphProps}\n onChange={label => this.labelChange({ ...middle, label }, 'middle')}\n />,\n labelNode\n );\n }\n }\n\n return (\n <g>\n {to && (\n <DraggableComp\n from={from}\n to={to}\n middle={middle}\n onDrag={this.dragComp}\n {...common}\n onClick={labelModeEnabled ? () => this.clickPoint(middle, 'middle') : common.onClick}\n />\n )}\n {lineLabelNode}\n\n <FromPoint\n x={from.x}\n y={from.y}\n labelNode={labelNode}\n coordinatesOnHover={coordinatesOnHover}\n onDrag={this.dragFrom}\n {...common}\n onClick={labelModeEnabled ? () => this.clickPoint(from, 'from') : common.onClick}\n />\n {fromLabelNode}\n\n {to && (\n <ToPoint\n x={to.x}\n y={to.y}\n angle={angle} //angle + 45}\n labelNode={labelNode}\n coordinatesOnHover={coordinatesOnHover}\n onDrag={this.dragTo}\n {...common}\n onClick={labelModeEnabled ? () => this.clickPoint(to, 'to') : common.onClick}\n />\n )}\n {toLabelNode}\n </g>\n );\n }\n }\n\n return LineBase;\n};\n\nexport const styles = {\n line: () => ({\n fill: 'transparent',\n stroke: color.primaryLight(),\n strokeWidth: 3,\n transition: 'stroke 200ms ease-in, stroke-width 200ms ease-in',\n '&:hover': {\n strokeWidth: 6,\n stroke: color.primaryDark()\n }\n }),\n arrow: () => ({\n fill: color.secondary()\n }),\n disabledArrow: () => ({\n ...disabled()\n }),\n disabled: () => ({\n ...disabled('stroke'),\n strokeWidth: 2\n }),\n correct: (theme, key) => ({\n ...correct(key)\n }),\n incorrect: (theme, key) => ({\n ...incorrect(key)\n })\n};\n"],"file":"index.js"}
|
|
1
|
+
{"version":3,"sources":["../../../../src/tools/shared/line/index.jsx"],"names":["lineTool","type","Component","addPoint","point","mark","root","building","from","to","lineToolComponent","props","setState","onChange","update","state","undefined","shouldNotChange","middle","graphProps","onClick","labelNode","labelModeEnabled","coordinatesOnHover","disabled","correctness","changeMark","changeMarkProps","startDrag","stopDrag","React","types","ToolPropTypeFields","GraphPropsType","isRequired","dragOpts","bounds","domain","range","area","utils","lineToArea","anchorPoint","fromDelta","delta","add","lineBase","Comp","opts","DraggableComp","FromPoint","BasePoint","ToPoint","LineBase","draggedFrom","draggedTo","label","updated","onChangePoint","input","focus","onDragStart","onDragStop","common","angle","trig","toDegrees","fromLabelNode","toLabelNode","lineLabelNode","hasOwnProperty","ReactDOM","createPortal","r","labelChange","dragComp","clickPoint","x","y","dragFrom","dragTo","PropTypes","bool","PointType","func","string","object","styles","line","fill","stroke","color","primaryLight","strokeWidth","transition","primaryDark","arrow","secondary","disabledArrow","correct","theme","key","incorrect"],"mappings":"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","sourcesContent":["import React from 'react';\nimport isEqual from 'lodash/isEqual';\nimport { BasePoint } from '../point';\nimport { types, utils, gridDraggable, trig } from '@pie-lib/plot';\nimport PropTypes from 'prop-types';\nimport { disabled, correct, incorrect } from '../styles';\nimport ReactDOM from 'react-dom';\nimport MarkLabel from '../../../mark-label';\nimport isEmpty from 'lodash/isEmpty';\nimport { color } from '@pie-lib/render-ui';\nimport { getMiddleOfTwoPoints, equalPoints, sameAxes } from '../../../utils';\n\nexport const lineTool = (type, Component) => () => ({\n type,\n Component,\n addPoint: (point, mark) => {\n if (mark && equalPoints(mark.root, point)) {\n return mark;\n }\n\n if (!mark) {\n return {\n type,\n building: true,\n from: point\n };\n }\n\n if (equalPoints(point, mark.from)) {\n return { ...mark };\n }\n\n return { ...mark, building: false, to: point };\n }\n});\n\nexport const lineToolComponent = Component => {\n return class LineToolComponent extends React.Component {\n static propTypes = {\n ...types.ToolPropTypeFields,\n graphProps: types.GraphPropsType.isRequired\n };\n\n constructor(props) {\n super(props);\n this.state = {};\n }\n\n startDrag = () => this.setState({ mark: { ...this.props.mark } });\n\n stopDrag = () => {\n const { onChange, mark } = this.props;\n const update = { ...this.state.mark };\n\n this.setState({ mark: undefined }, () => {\n const { type } = update;\n const shouldNotChange =\n type && (type === 'parabola' || type === 'sine') && sameAxes(update.from, update.to);\n\n if (!isEqual(mark, update) && !shouldNotChange) {\n onChange(mark, update);\n }\n });\n };\n\n changeMark = ({ from, to, middle }) => {\n let mark = { ...this.state.mark, from, to };\n\n if (middle) {\n mark = { ...mark, middle };\n }\n\n this.setState({ mark });\n };\n\n changeMarkProps = ({ from, to, middle }) => {\n const { onChange, mark } = this.props;\n let update = { ...mark, ...this.state.mark };\n\n if (from) {\n update = { ...update, from };\n }\n\n if (to) {\n update = { ...update, to };\n }\n\n if (middle) {\n update = { ...update, middle };\n }\n\n if (!isEqual(mark, update)) {\n onChange(mark, update);\n }\n };\n\n render() {\n const { graphProps, onClick, labelNode, labelModeEnabled, coordinatesOnHover } = this.props;\n const mark = this.state.mark ? this.state.mark : this.props.mark;\n\n return (\n <Component\n disabled={mark.disabled}\n coordinatesOnHover={coordinatesOnHover}\n correctness={mark.correctness}\n from={mark.from}\n to={mark.to}\n middle={mark.middle}\n graphProps={graphProps}\n onChange={this.changeMark}\n changeMarkProps={this.changeMarkProps}\n onClick={onClick}\n onDragStart={this.startDrag}\n onDragStop={this.stopDrag}\n labelNode={labelNode}\n labelModeEnabled={labelModeEnabled}\n />\n );\n }\n };\n};\n\nconst dragOpts = () => ({\n bounds: (props, { domain, range }) => {\n const area = utils.lineToArea(props.from, props.to);\n return utils.bounds(area, domain, range);\n },\n anchorPoint: props => {\n const { from } = props;\n return from;\n },\n fromDelta: (props, delta) => {\n const { from, to } = props;\n return {\n from: utils.point(from).add(utils.point(delta)),\n to: utils.point(to).add(utils.point(delta))\n };\n }\n});\n\nexport const lineBase = (Comp, opts) => {\n const DraggableComp = gridDraggable(dragOpts())(Comp);\n\n const FromPoint = opts && opts.from ? opts.from : BasePoint;\n const ToPoint = opts && opts.to ? opts.to : BasePoint;\n\n class LineBase extends React.Component {\n static propTypes = {\n coordinatesOnHover: PropTypes.bool,\n graphProps: types.GraphPropsType,\n from: types.PointType,\n to: types.PointType,\n middle: types.PointType,\n onChange: PropTypes.func,\n onDragStart: PropTypes.func,\n onDragStop: PropTypes.func,\n onClick: PropTypes.func,\n correctness: PropTypes.string,\n disabled: PropTypes.bool,\n labelNode: PropTypes.object,\n labelModeEnabled: PropTypes.bool,\n changeMarkProps: PropTypes.func\n };\n\n onChangePoint = point => {\n const { middle, onChange } = this.props;\n const { from, to } = point;\n\n // because point.from.label and point.to.label can be different\n if (!equalPoints(from, to)) {\n if (middle) {\n point.middle = { ...middle, ...getMiddleOfTwoPoints(from, to) };\n }\n\n onChange(point);\n }\n };\n\n dragComp = ({ from: draggedFrom, to: draggedTo }) => {\n const { from, to, onChange, middle } = this.props;\n\n if (from.label) {\n draggedFrom.label = from.label;\n }\n\n if (to.label) {\n draggedTo.label = to.label;\n }\n\n const updated = { from: draggedFrom, to: draggedTo };\n\n if (middle) {\n updated.middle = { ...middle, ...getMiddleOfTwoPoints(draggedFrom, draggedTo) };\n }\n\n onChange(updated);\n };\n\n dragFrom = draggedFrom => {\n const { from, to } = this.props;\n\n if (from.label) {\n draggedFrom.label = from.label;\n }\n\n if (!equalPoints(draggedFrom, to)) {\n this.onChangePoint({ from: draggedFrom, to: to });\n }\n };\n\n dragTo = draggedTo => {\n const { from, to } = this.props;\n\n if (to.label) {\n draggedTo.label = to.label;\n }\n\n if (!equalPoints(from, draggedTo)) {\n this.onChangePoint({ from: from, to: draggedTo });\n }\n };\n\n labelChange = (point, type) => {\n const { changeMarkProps } = this.props;\n const update = { ...point };\n\n if (!point.label || isEmpty(point.label)) {\n delete update.label;\n }\n\n changeMarkProps({ [type]: update });\n };\n\n clickPoint = (point, type) => {\n const { changeMarkProps, from, to } = this.props;\n\n if (type === 'middle' && !point && from && to) {\n point = { ...point, ...getMiddleOfTwoPoints(from, to) };\n }\n\n changeMarkProps({ from, to, [type]: { label: '', ...point } });\n\n if (this.input[type]) {\n this.input[type].focus();\n }\n };\n\n // IMPORTANT, do not remove\n input = {};\n\n render() {\n const {\n coordinatesOnHover,\n graphProps,\n onDragStart,\n onDragStop,\n from,\n to,\n middle,\n disabled,\n correctness,\n onClick,\n labelNode,\n labelModeEnabled\n } = this.props;\n const common = { graphProps, onDragStart, onDragStop, disabled, correctness, onClick };\n const angle = to ? trig.toDegrees(trig.angle(from, to)) : 0;\n\n let fromLabelNode = null;\n let toLabelNode = null;\n let lineLabelNode = null;\n\n if (labelNode) {\n if (from && from.hasOwnProperty('label')) {\n fromLabelNode = ReactDOM.createPortal(\n <MarkLabel\n inputRef={r => (this.input.from = r)}\n disabled={!labelModeEnabled}\n mark={from}\n graphProps={graphProps}\n onChange={label => this.labelChange({ ...from, label }, 'from')}\n />,\n labelNode\n );\n }\n\n if (to && to.hasOwnProperty('label')) {\n toLabelNode = ReactDOM.createPortal(\n <MarkLabel\n inputRef={r => (this.input.to = r)}\n disabled={!labelModeEnabled}\n mark={to}\n graphProps={graphProps}\n onChange={label => this.labelChange({ ...to, label }, 'to')}\n />,\n labelNode\n );\n }\n\n if (middle && middle.hasOwnProperty('label')) {\n lineLabelNode = ReactDOM.createPortal(\n <MarkLabel\n inputRef={r => (this.input.middle = r)}\n disabled={!labelModeEnabled}\n mark={middle}\n graphProps={graphProps}\n onChange={label => this.labelChange({ ...middle, label }, 'middle')}\n />,\n labelNode\n );\n }\n }\n\n return (\n <g>\n {to && (\n <DraggableComp\n from={from}\n to={to}\n middle={middle}\n onDrag={this.dragComp}\n {...common}\n onClick={labelModeEnabled ? () => this.clickPoint(middle, 'middle') : common.onClick}\n />\n )}\n {lineLabelNode}\n\n <FromPoint\n x={from.x}\n y={from.y}\n labelNode={labelNode}\n coordinatesOnHover={coordinatesOnHover}\n onDrag={this.dragFrom}\n {...common}\n onClick={labelModeEnabled ? () => this.clickPoint(from, 'from') : common.onClick}\n />\n {fromLabelNode}\n\n {to && (\n <ToPoint\n x={to.x}\n y={to.y}\n angle={angle} //angle + 45}\n labelNode={labelNode}\n coordinatesOnHover={coordinatesOnHover}\n onDrag={this.dragTo}\n {...common}\n onClick={labelModeEnabled ? () => this.clickPoint(to, 'to') : common.onClick}\n />\n )}\n {toLabelNode}\n </g>\n );\n }\n }\n\n return LineBase;\n};\n\nexport const styles = {\n line: () => ({\n fill: 'transparent',\n stroke: color.primaryLight(),\n strokeWidth: 3,\n transition: 'stroke 200ms ease-in, stroke-width 200ms ease-in',\n '&:hover': {\n strokeWidth: 6,\n stroke: color.primaryDark()\n }\n }),\n arrow: () => ({\n fill: color.secondary()\n }),\n disabledArrow: () => ({\n ...disabled()\n }),\n disabled: () => ({\n ...disabled('stroke'),\n strokeWidth: 2\n }),\n correct: (theme, key) => ({\n ...correct(key)\n }),\n incorrect: (theme, key) => ({\n ...incorrect(key)\n })\n};\n"],"file":"index.js"}
|
|
@@ -1,9 +1,11 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
|
|
3
|
+
function _typeof(obj) { "@babel/helpers - typeof"; return _typeof = "function" == typeof Symbol && "symbol" == typeof Symbol.iterator ? function (obj) { return typeof obj; } : function (obj) { return obj && "function" == typeof Symbol && obj.constructor === Symbol && obj !== Symbol.prototype ? "symbol" : typeof obj; }, _typeof(obj); }
|
|
4
|
+
|
|
3
5
|
Object.defineProperty(exports, "__esModule", {
|
|
4
6
|
value: true
|
|
5
7
|
});
|
|
6
|
-
exports.
|
|
8
|
+
exports.RawLinePath = exports.LinePath = void 0;
|
|
7
9
|
|
|
8
10
|
var _react = _interopRequireDefault(require("react"));
|
|
9
11
|
|
|
@@ -21,15 +23,17 @@ var vx = _interopRequireWildcard(require("@vx/shape"));
|
|
|
21
23
|
|
|
22
24
|
var _renderUi = require("@pie-lib/render-ui");
|
|
23
25
|
|
|
24
|
-
|
|
26
|
+
var _excluded = ["data", "classes", "className", "disabled", "correctness", "from", "to", "graphProps", "isDragging"];
|
|
25
27
|
|
|
26
|
-
function
|
|
28
|
+
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); }
|
|
27
29
|
|
|
28
|
-
function
|
|
30
|
+
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; }
|
|
31
|
+
|
|
32
|
+
function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { "default": obj }; }
|
|
29
33
|
|
|
30
|
-
function ownKeys(object, enumerableOnly) { var keys = Object.keys(object); if (Object.getOwnPropertySymbols) { var symbols = Object.getOwnPropertySymbols(object);
|
|
34
|
+
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; }
|
|
31
35
|
|
|
32
|
-
function _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]
|
|
36
|
+
function _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = null != arguments[i] ? arguments[i] : {}; i % 2 ? ownKeys(Object(source), !0).forEach(function (key) { _defineProperty(target, key, source[key]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)) : ownKeys(Object(source)).forEach(function (key) { Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key)); }); } return target; }
|
|
33
37
|
|
|
34
38
|
function _extends() { _extends = Object.assign || function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; }; return _extends.apply(this, arguments); }
|
|
35
39
|
|
|
@@ -41,29 +45,33 @@ function _classCallCheck(instance, Constructor) { if (!(instance instanceof Cons
|
|
|
41
45
|
|
|
42
46
|
function _defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if ("value" in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } }
|
|
43
47
|
|
|
44
|
-
function _createClass(Constructor, protoProps, staticProps) { if (protoProps) _defineProperties(Constructor.prototype, protoProps); if (staticProps) _defineProperties(Constructor, staticProps); return Constructor; }
|
|
48
|
+
function _createClass(Constructor, protoProps, staticProps) { if (protoProps) _defineProperties(Constructor.prototype, protoProps); if (staticProps) _defineProperties(Constructor, staticProps); Object.defineProperty(Constructor, "prototype", { writable: false }); return Constructor; }
|
|
45
49
|
|
|
46
|
-
function
|
|
50
|
+
function _inherits(subClass, superClass) { if (typeof superClass !== "function" && superClass !== null) { throw new TypeError("Super expression must either be null or a function"); } subClass.prototype = Object.create(superClass && superClass.prototype, { constructor: { value: subClass, writable: true, configurable: true } }); Object.defineProperty(subClass, "prototype", { writable: false }); if (superClass) _setPrototypeOf(subClass, superClass); }
|
|
47
51
|
|
|
48
|
-
function
|
|
52
|
+
function _setPrototypeOf(o, p) { _setPrototypeOf = Object.setPrototypeOf || function _setPrototypeOf(o, p) { o.__proto__ = p; return o; }; return _setPrototypeOf(o, p); }
|
|
49
53
|
|
|
50
|
-
function
|
|
54
|
+
function _createSuper(Derived) { var hasNativeReflectConstruct = _isNativeReflectConstruct(); return function _createSuperInternal() { var Super = _getPrototypeOf(Derived), result; if (hasNativeReflectConstruct) { var NewTarget = _getPrototypeOf(this).constructor; result = Reflect.construct(Super, arguments, NewTarget); } else { result = Super.apply(this, arguments); } return _possibleConstructorReturn(this, result); }; }
|
|
51
55
|
|
|
52
|
-
function
|
|
56
|
+
function _possibleConstructorReturn(self, call) { if (call && (_typeof(call) === "object" || typeof call === "function")) { return call; } else if (call !== void 0) { throw new TypeError("Derived constructors may only return object or undefined"); } return _assertThisInitialized(self); }
|
|
53
57
|
|
|
54
|
-
function
|
|
58
|
+
function _assertThisInitialized(self) { if (self === void 0) { throw new ReferenceError("this hasn't been initialised - super() hasn't been called"); } return self; }
|
|
59
|
+
|
|
60
|
+
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; } }
|
|
61
|
+
|
|
62
|
+
function _getPrototypeOf(o) { _getPrototypeOf = Object.setPrototypeOf ? Object.getPrototypeOf : function _getPrototypeOf(o) { return o.__proto__ || Object.getPrototypeOf(o); }; return _getPrototypeOf(o); }
|
|
55
63
|
|
|
56
64
|
function _defineProperty(obj, key, value) { if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; }
|
|
57
65
|
|
|
58
|
-
var RawLinePath =
|
|
59
|
-
/*#__PURE__*/
|
|
60
|
-
function (_React$Component) {
|
|
66
|
+
var RawLinePath = /*#__PURE__*/function (_React$Component) {
|
|
61
67
|
_inherits(RawLinePath, _React$Component);
|
|
62
68
|
|
|
69
|
+
var _super = _createSuper(RawLinePath);
|
|
70
|
+
|
|
63
71
|
function RawLinePath() {
|
|
64
72
|
_classCallCheck(this, RawLinePath);
|
|
65
73
|
|
|
66
|
-
return
|
|
74
|
+
return _super.apply(this, arguments);
|
|
67
75
|
}
|
|
68
76
|
|
|
69
77
|
_createClass(RawLinePath, [{
|
|
@@ -80,14 +88,14 @@ function (_React$Component) {
|
|
|
80
88
|
to = _this$props.to,
|
|
81
89
|
graphProps = _this$props.graphProps,
|
|
82
90
|
isDragging = _this$props.isDragging,
|
|
83
|
-
rest = _objectWithoutProperties(_this$props,
|
|
91
|
+
rest = _objectWithoutProperties(_this$props, _excluded);
|
|
84
92
|
/* eslint-enable */
|
|
85
93
|
|
|
86
94
|
|
|
87
|
-
return _react["default"].createElement(_react["default"].Fragment, null, _react["default"].createElement(vx.LinePath, _extends({
|
|
95
|
+
return /*#__PURE__*/_react["default"].createElement(_react["default"].Fragment, null, /*#__PURE__*/_react["default"].createElement(vx.LinePath, _extends({
|
|
88
96
|
data: data,
|
|
89
97
|
className: (0, _classnames["default"])(classes.drawLine, disabled && classes.disabled, classes[correctness], className)
|
|
90
|
-
}, rest)), _react["default"].createElement(vx.LinePath, _extends({
|
|
98
|
+
}, rest)), /*#__PURE__*/_react["default"].createElement(vx.LinePath, _extends({
|
|
91
99
|
data: data,
|
|
92
100
|
className: (0, _classnames["default"])(classes.line, isDragging && classes.dragging, disabled && classes.disabled, classes[correctness], className)
|
|
93
101
|
}, rest)));
|
|
@@ -138,7 +146,7 @@ var LinePath = (0, _styles.withStyles)(function (theme) {
|
|
|
138
146
|
'&:hover': dragging(theme)
|
|
139
147
|
},
|
|
140
148
|
dragging: dragging(theme),
|
|
141
|
-
disabled: _objectSpread({}, (0, _styles2.disabled)('stroke'), {
|
|
149
|
+
disabled: _objectSpread(_objectSpread({}, (0, _styles2.disabled)('stroke')), {}, {
|
|
142
150
|
strokeWidth: 2
|
|
143
151
|
}),
|
|
144
152
|
correct: _objectSpread({}, (0, _styles2.correct)('stroke')),
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../../../../src/tools/shared/line/line-path.jsx"],"names":["RawLinePath","props","data","classes","className","disabled","correctness","from","to","graphProps","isDragging","rest","drawLine","line","dragging","React","Component","PropTypes","string","object","arrayOf","number","types","GraphPropsType","isRequired","bool","PointType","strokeWidth","stroke","color","secondaryLight","LinePath","theme","fill","transition","correct","incorrect"],"mappings":"
|
|
1
|
+
{"version":3,"sources":["../../../../src/tools/shared/line/line-path.jsx"],"names":["RawLinePath","props","data","classes","className","disabled","correctness","from","to","graphProps","isDragging","rest","drawLine","line","dragging","React","Component","PropTypes","string","object","arrayOf","number","types","GraphPropsType","isRequired","bool","PointType","strokeWidth","stroke","color","secondaryLight","LinePath","theme","fill","transition","correct","incorrect"],"mappings":"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","sourcesContent":["import React from 'react';\nimport PropTypes from 'prop-types';\nimport { withStyles } from '@material-ui/core/styles';\nimport { types } from '@pie-lib/plot';\nimport classNames from 'classnames';\nimport { disabled, correct, incorrect } from '../styles';\nimport * as vx from '@vx/shape';\nimport { color } from '@pie-lib/render-ui';\n\nexport class RawLinePath extends React.Component {\n static propTypes = {\n className: PropTypes.string,\n classes: PropTypes.object,\n data: PropTypes.arrayOf(PropTypes.arrayOf(PropTypes.number)),\n graphProps: types.GraphPropsType.isRequired,\n disabled: PropTypes.bool,\n correctness: PropTypes.string,\n from: types.PointType,\n to: types.PointType,\n isDragging: PropTypes.bool\n };\n\n static defaultProps = {\n from: {},\n to: {}\n };\n\n render() {\n /* eslint-disable no-unused-vars */\n const {\n data,\n classes,\n className,\n disabled,\n correctness,\n from,\n to,\n graphProps,\n isDragging,\n ...rest\n } = this.props;\n /* eslint-enable */\n\n return (\n <React.Fragment>\n <vx.LinePath\n data={data}\n className={classNames(\n classes.drawLine,\n disabled && classes.disabled,\n classes[correctness],\n className\n )}\n {...rest}\n />\n <vx.LinePath\n data={data}\n className={classNames(\n classes.line,\n isDragging && classes.dragging,\n disabled && classes.disabled,\n classes[correctness],\n className\n )}\n {...rest}\n />\n </React.Fragment>\n );\n }\n}\n\nconst dragging = () => ({\n strokeWidth: 7,\n stroke: color.secondaryLight()\n});\n\nexport const LinePath = withStyles(theme => ({\n drawLine: {\n fill: 'none',\n strokeWidth: 2,\n stroke: color.secondaryLight()\n },\n line: {\n strokeWidth: 6,\n fill: 'none',\n transition: 'stroke-width 200ms ease-in, stroke 200ms ease-in',\n stroke: 'transparent',\n '&:hover': dragging(theme)\n },\n dragging: dragging(theme),\n disabled: {\n ...disabled('stroke'),\n strokeWidth: 2\n },\n correct: {\n ...correct('stroke')\n },\n incorrect: {\n ...incorrect('stroke')\n }\n}))(RawLinePath);\n"],"file":"line-path.js"}
|