@pie-lib/graphing 2.34.2-next.0 → 2.35.0-mui-update.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.
Files changed (155) hide show
  1. package/CHANGELOG.md +10 -8
  2. package/lib/axis/arrow.js +19 -55
  3. package/lib/axis/arrow.js.map +1 -1
  4. package/lib/axis/axes.js +104 -186
  5. package/lib/axis/axes.js.map +1 -1
  6. package/lib/axis/index.js +1 -6
  7. package/lib/axis/index.js.map +1 -1
  8. package/lib/bg.js +21 -49
  9. package/lib/bg.js.map +1 -1
  10. package/lib/container/actions.js +2 -8
  11. package/lib/container/actions.js.map +1 -1
  12. package/lib/container/index.js +14 -59
  13. package/lib/container/index.js.map +1 -1
  14. package/lib/container/marks.js +1 -6
  15. package/lib/container/marks.js.map +1 -1
  16. package/lib/container/middleware.js +2 -8
  17. package/lib/container/middleware.js.map +1 -1
  18. package/lib/container/reducer.js +1 -8
  19. package/lib/container/reducer.js.map +1 -1
  20. package/lib/coordinates-label.js +23 -55
  21. package/lib/coordinates-label.js.map +1 -1
  22. package/lib/graph-with-controls.js +113 -183
  23. package/lib/graph-with-controls.js.map +1 -1
  24. package/lib/graph.js +59 -116
  25. package/lib/graph.js.map +1 -1
  26. package/lib/grid-setup.js +161 -223
  27. package/lib/grid-setup.js.map +1 -1
  28. package/lib/grid.js +28 -73
  29. package/lib/grid.js.map +1 -1
  30. package/lib/index.js +1 -13
  31. package/lib/index.js.map +1 -1
  32. package/lib/key-legend.js +41 -85
  33. package/lib/key-legend.js.map +1 -1
  34. package/lib/label-svg-icon.js +1 -7
  35. package/lib/label-svg-icon.js.map +1 -1
  36. package/lib/labels.js +61 -119
  37. package/lib/labels.js.map +1 -1
  38. package/lib/mark-label.js +113 -163
  39. package/lib/mark-label.js.map +1 -1
  40. package/lib/toggle-bar.js +158 -242
  41. package/lib/toggle-bar.js.map +1 -1
  42. package/lib/tool-menu.js +16 -48
  43. package/lib/tool-menu.js.map +1 -1
  44. package/lib/tools/absolute/component.js +4 -10
  45. package/lib/tools/absolute/component.js.map +1 -1
  46. package/lib/tools/absolute/index.js +3 -16
  47. package/lib/tools/absolute/index.js.map +1 -1
  48. package/lib/tools/circle/bg-circle.js +42 -92
  49. package/lib/tools/circle/bg-circle.js.map +1 -1
  50. package/lib/tools/circle/component.js +79 -165
  51. package/lib/tools/circle/component.js.map +1 -1
  52. package/lib/tools/circle/index.js +3 -13
  53. package/lib/tools/circle/index.js.map +1 -1
  54. package/lib/tools/exponential/component.js +4 -10
  55. package/lib/tools/exponential/component.js.map +1 -1
  56. package/lib/tools/exponential/index.js +3 -18
  57. package/lib/tools/exponential/index.js.map +1 -1
  58. package/lib/tools/index.js +3 -16
  59. package/lib/tools/index.js.map +1 -1
  60. package/lib/tools/line/component.js +27 -48
  61. package/lib/tools/line/component.js.map +1 -1
  62. package/lib/tools/line/index.js +1 -6
  63. package/lib/tools/line/index.js.map +1 -1
  64. package/lib/tools/parabola/component.js +4 -10
  65. package/lib/tools/parabola/component.js.map +1 -1
  66. package/lib/tools/parabola/index.js +3 -16
  67. package/lib/tools/parabola/index.js.map +1 -1
  68. package/lib/tools/point/component.js +24 -71
  69. package/lib/tools/point/component.js.map +1 -1
  70. package/lib/tools/point/index.js +3 -11
  71. package/lib/tools/point/index.js.map +1 -1
  72. package/lib/tools/polygon/component.js +82 -183
  73. package/lib/tools/polygon/component.js.map +1 -1
  74. package/lib/tools/polygon/index.js +6 -23
  75. package/lib/tools/polygon/index.js.map +1 -1
  76. package/lib/tools/polygon/line.js +48 -91
  77. package/lib/tools/polygon/line.js.map +1 -1
  78. package/lib/tools/polygon/polygon.js +65 -98
  79. package/lib/tools/polygon/polygon.js.map +1 -1
  80. package/lib/tools/ray/component.js +41 -60
  81. package/lib/tools/ray/component.js.map +1 -1
  82. package/lib/tools/ray/index.js +1 -6
  83. package/lib/tools/ray/index.js.map +1 -1
  84. package/lib/tools/segment/component.js +25 -43
  85. package/lib/tools/segment/component.js.map +1 -1
  86. package/lib/tools/segment/index.js +1 -6
  87. package/lib/tools/segment/index.js.map +1 -1
  88. package/lib/tools/shared/arrow-head.js +69 -28
  89. package/lib/tools/shared/arrow-head.js.map +1 -1
  90. package/lib/tools/shared/icons/CorrectSVG.js +3 -8
  91. package/lib/tools/shared/icons/CorrectSVG.js.map +1 -1
  92. package/lib/tools/shared/icons/IncorrectSVG.js +3 -8
  93. package/lib/tools/shared/icons/IncorrectSVG.js.map +1 -1
  94. package/lib/tools/shared/icons/MissingSVG.js +3 -8
  95. package/lib/tools/shared/icons/MissingSVG.js.map +1 -1
  96. package/lib/tools/shared/line/index.js +126 -187
  97. package/lib/tools/shared/line/index.js.map +1 -1
  98. package/lib/tools/shared/line/line-path.js +70 -100
  99. package/lib/tools/shared/line/line-path.js.map +1 -1
  100. package/lib/tools/shared/line/with-root-edge.js +21 -55
  101. package/lib/tools/shared/line/with-root-edge.js.map +1 -1
  102. package/lib/tools/shared/point/arrow-point.js +23 -62
  103. package/lib/tools/shared/point/arrow-point.js.map +1 -1
  104. package/lib/tools/shared/point/arrow.js +24 -52
  105. package/lib/tools/shared/point/arrow.js.map +1 -1
  106. package/lib/tools/shared/point/base-point.js +54 -72
  107. package/lib/tools/shared/point/base-point.js.map +1 -1
  108. package/lib/tools/shared/point/index.js +22 -57
  109. package/lib/tools/shared/point/index.js.map +1 -1
  110. package/lib/tools/shared/styles.js +10 -38
  111. package/lib/tools/shared/styles.js.map +1 -1
  112. package/lib/tools/shared/types.js +2 -9
  113. package/lib/tools/shared/types.js.map +1 -1
  114. package/lib/tools/sine/component.js +8 -19
  115. package/lib/tools/sine/component.js.map +1 -1
  116. package/lib/tools/sine/index.js +3 -16
  117. package/lib/tools/sine/index.js.map +1 -1
  118. package/lib/tools/vector/component.js +24 -44
  119. package/lib/tools/vector/component.js.map +1 -1
  120. package/lib/tools/vector/index.js +1 -6
  121. package/lib/tools/vector/index.js.map +1 -1
  122. package/lib/undo-redo.js +29 -69
  123. package/lib/undo-redo.js.map +1 -1
  124. package/lib/use-debounce.js +4 -11
  125. package/lib/use-debounce.js.map +1 -1
  126. package/lib/utils.js +51 -128
  127. package/lib/utils.js.map +1 -1
  128. package/package.json +15 -13
  129. package/src/axis/arrow.jsx +7 -12
  130. package/src/axis/axes.jsx +40 -45
  131. package/src/coordinates-label.jsx +13 -18
  132. package/src/graph-with-controls.jsx +52 -59
  133. package/src/grid-setup.jsx +204 -206
  134. package/src/grid.jsx +1 -3
  135. package/src/key-legend.jsx +52 -56
  136. package/src/labels.jsx +21 -30
  137. package/src/mark-label.jsx +83 -81
  138. package/src/toggle-bar.jsx +155 -166
  139. package/src/tools/circle/bg-circle.jsx +20 -28
  140. package/src/tools/circle/component.jsx +28 -63
  141. package/src/tools/line/component.jsx +22 -15
  142. package/src/tools/polygon/component.jsx +1 -2
  143. package/src/tools/polygon/line.jsx +28 -32
  144. package/src/tools/polygon/polygon.jsx +52 -45
  145. package/src/tools/ray/component.jsx +38 -25
  146. package/src/tools/segment/component.jsx +19 -18
  147. package/src/tools/shared/arrow-head.jsx +60 -7
  148. package/src/tools/shared/line/index.jsx +39 -2
  149. package/src/tools/shared/line/line-path.jsx +54 -58
  150. package/src/tools/shared/point/arrow-point.jsx +10 -24
  151. package/src/tools/shared/point/arrow.jsx +5 -11
  152. package/src/tools/shared/point/base-point.jsx +42 -19
  153. package/src/tools/shared/point/index.jsx +27 -44
  154. package/src/tools/vector/component.jsx +11 -16
  155. package/src/undo-redo.jsx +19 -21
@@ -1,61 +1,64 @@
1
1
  "use strict";
2
2
 
3
3
  var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
4
-
5
4
  Object.defineProperty(exports, "__esModule", {
6
5
  value: true
7
6
  });
8
7
  exports.styles = exports.lineToolComponent = exports.lineTool = exports.lineBase = void 0;
9
-
10
8
  var _extends2 = _interopRequireDefault(require("@babel/runtime/helpers/extends"));
11
-
12
9
  var _classCallCheck2 = _interopRequireDefault(require("@babel/runtime/helpers/classCallCheck"));
13
-
14
10
  var _createClass2 = _interopRequireDefault(require("@babel/runtime/helpers/createClass"));
15
-
16
- var _assertThisInitialized2 = _interopRequireDefault(require("@babel/runtime/helpers/assertThisInitialized"));
17
-
18
- var _inherits2 = _interopRequireDefault(require("@babel/runtime/helpers/inherits"));
19
-
20
11
  var _possibleConstructorReturn2 = _interopRequireDefault(require("@babel/runtime/helpers/possibleConstructorReturn"));
21
-
22
12
  var _getPrototypeOf2 = _interopRequireDefault(require("@babel/runtime/helpers/getPrototypeOf"));
23
-
13
+ var _inherits2 = _interopRequireDefault(require("@babel/runtime/helpers/inherits"));
24
14
  var _defineProperty2 = _interopRequireDefault(require("@babel/runtime/helpers/defineProperty"));
25
-
26
15
  var _react = _interopRequireDefault(require("react"));
27
-
28
16
  var _isEqual = _interopRequireDefault(require("lodash/isEqual"));
29
-
30
17
  var _cloneDeep = _interopRequireDefault(require("lodash/cloneDeep"));
31
-
32
18
  var _point = require("../point");
33
-
34
19
  var _plot = require("@pie-lib/plot");
35
-
36
20
  var _propTypes = _interopRequireDefault(require("prop-types"));
37
-
38
21
  var _styles = require("../styles");
39
-
40
22
  var _reactDom = _interopRequireDefault(require("react-dom"));
41
-
42
23
  var _markLabel = _interopRequireDefault(require("../../../mark-label"));
43
-
44
24
  var _isEmpty = _interopRequireDefault(require("lodash/isEmpty"));
45
-
46
25
  var _renderUi = require("@pie-lib/render-ui");
47
-
48
26
  var _utils = require("../../../utils");
49
-
50
- 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); }; }
51
-
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; } }
53
-
54
- 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; }
55
-
56
- 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; }
57
-
58
- var lineTool = function lineTool(type, Component) {
27
+ var _styles2 = require("@mui/material/styles");
28
+ function _callSuper(t, o, e) { return o = (0, _getPrototypeOf2["default"])(o), (0, _possibleConstructorReturn2["default"])(t, _isNativeReflectConstruct() ? Reflect.construct(o, e || [], (0, _getPrototypeOf2["default"])(t).constructor) : o.apply(t, e)); }
29
+ function _isNativeReflectConstruct() { try { var t = !Boolean.prototype.valueOf.call(Reflect.construct(Boolean, [], function () {})); } catch (t) {} return (_isNativeReflectConstruct = function _isNativeReflectConstruct() { return !!t; })(); }
30
+ function ownKeys(e, r) { var t = Object.keys(e); if (Object.getOwnPropertySymbols) { var o = Object.getOwnPropertySymbols(e); r && (o = o.filter(function (r) { return Object.getOwnPropertyDescriptor(e, r).enumerable; })), t.push.apply(t, o); } return t; }
31
+ function _objectSpread(e) { for (var r = 1; r < arguments.length; r++) { var t = null != arguments[r] ? arguments[r] : {}; r % 2 ? ownKeys(Object(t), !0).forEach(function (r) { (0, _defineProperty2["default"])(e, r, t[r]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(e, Object.getOwnPropertyDescriptors(t)) : ownKeys(Object(t)).forEach(function (r) { Object.defineProperty(e, r, Object.getOwnPropertyDescriptor(t, r)); }); } return e; }
32
+ var StyledLineGroup = (0, _styles2.styled)('g')(function (_ref) {
33
+ var disabled = _ref.disabled,
34
+ correctness = _ref.correctness;
35
+ return _objectSpread(_objectSpread(_objectSpread(_objectSpread({
36
+ '& line': {
37
+ fill: 'transparent',
38
+ stroke: _renderUi.color.defaults.BLACK,
39
+ strokeWidth: 3,
40
+ transition: 'stroke 200ms ease-in, stroke-width 200ms ease-in',
41
+ '&:hover': {
42
+ strokeWidth: 6,
43
+ stroke: _renderUi.color.defaults.PRIMARY_DARK
44
+ }
45
+ }
46
+ }, disabled && {
47
+ '& line': _objectSpread(_objectSpread({}, (0, _styles.disabledSecondary)('stroke')), {}, {
48
+ strokeWidth: 2
49
+ })
50
+ }), correctness === 'correct' && {
51
+ '& line': _objectSpread({}, (0, _styles.correct)('stroke'))
52
+ }), correctness === 'incorrect' && {
53
+ '& line': _objectSpread({}, (0, _styles.incorrect)('stroke'))
54
+ }), correctness === 'missing' && {
55
+ '& line': _objectSpread(_objectSpread({}, (0, _styles.missing)('stroke')), {}, {
56
+ strokeWidth: 1,
57
+ strokeDasharray: '4 3'
58
+ })
59
+ });
60
+ });
61
+ var lineTool = exports.lineTool = function lineTool(type, Component) {
59
62
  return function () {
60
63
  return {
61
64
  type: type,
@@ -64,7 +67,6 @@ var lineTool = function lineTool(type, Component) {
64
67
  if (mark && (0, _utils.equalPoints)(mark.root, point)) {
65
68
  return mark;
66
69
  }
67
-
68
70
  if (!mark) {
69
71
  return {
70
72
  type: type,
@@ -72,11 +74,9 @@ var lineTool = function lineTool(type, Component) {
72
74
  from: point
73
75
  };
74
76
  }
75
-
76
77
  if ((0, _utils.equalPoints)(point, mark.from)) {
77
78
  return _objectSpread({}, mark);
78
79
  }
79
-
80
80
  return _objectSpread(_objectSpread({}, mark), {}, {
81
81
  building: false,
82
82
  to: point
@@ -85,97 +85,76 @@ var lineTool = function lineTool(type, Component) {
85
85
  };
86
86
  };
87
87
  };
88
-
89
- exports.lineTool = lineTool;
90
-
91
- var lineToolComponent = function lineToolComponent(Component) {
92
- var _class;
93
-
94
- return _class = /*#__PURE__*/function (_React$Component) {
95
- (0, _inherits2["default"])(LineToolComponent, _React$Component);
96
-
97
- var _super = _createSuper(LineToolComponent);
98
-
88
+ var lineToolComponent = exports.lineToolComponent = function lineToolComponent(Component) {
89
+ var _LineToolComponent;
90
+ return _LineToolComponent = /*#__PURE__*/function (_React$Component) {
99
91
  function LineToolComponent(props) {
100
92
  var _this;
101
-
102
93
  (0, _classCallCheck2["default"])(this, LineToolComponent);
103
- _this = _super.call(this, props);
104
- (0, _defineProperty2["default"])((0, _assertThisInitialized2["default"])(_this), "startDrag", function () {
94
+ _this = _callSuper(this, LineToolComponent, [props]);
95
+ (0, _defineProperty2["default"])(_this, "startDrag", function () {
105
96
  return _this.setState({
106
97
  mark: _objectSpread({}, _this.props.mark)
107
98
  });
108
99
  });
109
- (0, _defineProperty2["default"])((0, _assertThisInitialized2["default"])(_this), "stopDrag", function () {
100
+ (0, _defineProperty2["default"])(_this, "stopDrag", function () {
110
101
  var _this$props = _this.props,
111
- onChange = _this$props.onChange,
112
- mark = _this$props.mark;
113
-
102
+ onChange = _this$props.onChange,
103
+ mark = _this$props.mark;
114
104
  var update = _objectSpread({}, _this.state.mark);
115
-
116
105
  _this.setState({
117
106
  mark: undefined
118
107
  }, function () {
119
108
  var type = update.type;
120
109
  var shouldNotChange = type && (type === 'parabola' || type === 'sine' || type === 'absolute' || type === 'exponential') && (0, _utils.sameAxes)(update.from, update.to);
121
-
122
110
  if (!shouldNotChange && type && type === 'exponential' && update.from && update.to) {
123
111
  shouldNotChange = update.from.y === 0 || update.to.y === 0 || update.from.y * update.to.y < 0;
124
112
  }
125
-
126
113
  if (!(0, _isEqual["default"])(mark, update) && !shouldNotChange) {
127
114
  onChange(mark, update);
128
115
  }
129
116
  });
130
117
  });
131
- (0, _defineProperty2["default"])((0, _assertThisInitialized2["default"])(_this), "changeMark", function (_ref) {
132
- var from = _ref.from,
133
- to = _ref.to,
134
- middle = _ref.middle;
135
-
118
+ (0, _defineProperty2["default"])(_this, "changeMark", function (_ref2) {
119
+ var from = _ref2.from,
120
+ to = _ref2.to,
121
+ middle = _ref2.middle;
136
122
  var mark = _objectSpread(_objectSpread({}, _this.state.mark), {}, {
137
123
  from: from,
138
124
  to: to
139
125
  });
140
-
141
126
  if (middle) {
142
127
  mark = _objectSpread(_objectSpread({}, mark), {}, {
143
128
  middle: middle
144
129
  });
145
130
  }
146
-
147
131
  _this.setState({
148
132
  mark: mark
149
133
  });
150
134
  });
151
- (0, _defineProperty2["default"])((0, _assertThisInitialized2["default"])(_this), "changeMarkProps", function (_ref2) {
152
- var from = _ref2.from,
153
- to = _ref2.to,
154
- middle = _ref2.middle;
135
+ (0, _defineProperty2["default"])(_this, "changeMarkProps", function (_ref3) {
136
+ var from = _ref3.from,
137
+ to = _ref3.to,
138
+ middle = _ref3.middle;
155
139
  var _this$props2 = _this.props,
156
- onChange = _this$props2.onChange,
157
- mark = _this$props2.mark;
158
-
140
+ onChange = _this$props2.onChange,
141
+ mark = _this$props2.mark;
159
142
  var update = _objectSpread(_objectSpread({}, mark), _this.state.mark);
160
-
161
143
  if (from) {
162
144
  update = _objectSpread(_objectSpread({}, update), {}, {
163
145
  from: from
164
146
  });
165
147
  }
166
-
167
148
  if (to) {
168
149
  update = _objectSpread(_objectSpread({}, update), {}, {
169
150
  to: to
170
151
  });
171
152
  }
172
-
173
153
  if (middle) {
174
154
  update = _objectSpread(_objectSpread({}, update), {}, {
175
155
  middle: middle
176
156
  });
177
157
  }
178
-
179
158
  if (!(0, _isEqual["default"])(mark, update)) {
180
159
  onChange(mark, update);
181
160
  }
@@ -183,35 +162,33 @@ var lineToolComponent = function lineToolComponent(Component) {
183
162
  _this.state = {};
184
163
  return _this;
185
164
  }
186
-
187
- (0, _createClass2["default"])(LineToolComponent, [{
165
+ (0, _inherits2["default"])(LineToolComponent, _React$Component);
166
+ return (0, _createClass2["default"])(LineToolComponent, [{
188
167
  key: "render",
189
168
  value: function render() {
190
169
  var _this$props3 = this.props,
191
- graphProps = _this$props3.graphProps,
192
- onClick = _this$props3.onClick,
193
- labelNode = _this$props3.labelNode,
194
- labelModeEnabled = _this$props3.labelModeEnabled,
195
- coordinatesOnHover = _this$props3.coordinatesOnHover,
196
- limitLabeling = _this$props3.limitLabeling;
170
+ graphProps = _this$props3.graphProps,
171
+ onClick = _this$props3.onClick,
172
+ labelNode = _this$props3.labelNode,
173
+ labelModeEnabled = _this$props3.labelModeEnabled,
174
+ coordinatesOnHover = _this$props3.coordinatesOnHover,
175
+ limitLabeling = _this$props3.limitLabeling;
197
176
  var mark = this.state.mark ? this.state.mark : this.props.mark;
198
177
  var from = (0, _cloneDeep["default"])(mark.from);
199
178
  var to = (0, _cloneDeep["default"])(mark.to);
200
- var middle = (0, _cloneDeep["default"])(mark.middle); // SET DISABLED
201
- // if it's a background mark, we need to force disable it
179
+ var middle = (0, _cloneDeep["default"])(mark.middle);
202
180
 
181
+ // SET DISABLED
182
+ // if it's a background mark, we need to force disable it
203
183
  if (from && mark.isBackground) {
204
184
  from.disabled = true;
205
185
  }
206
-
207
186
  if (to && mark.isBackground) {
208
187
  to.disabled = true;
209
188
  }
210
-
211
189
  if (middle && mark.isBackground) {
212
190
  middle.disabled = true;
213
191
  }
214
-
215
192
  return /*#__PURE__*/_react["default"].createElement(Component, {
216
193
  disabled: mark.disabled,
217
194
  coordinatesOnHover: coordinatesOnHover,
@@ -231,22 +208,16 @@ var lineToolComponent = function lineToolComponent(Component) {
231
208
  });
232
209
  }
233
210
  }]);
234
- return LineToolComponent;
235
- }(_react["default"].Component), (0, _defineProperty2["default"])(_class, "propTypes", _objectSpread(_objectSpread({}, _plot.types.ToolPropTypeFields), {}, {
211
+ }(_react["default"].Component), (0, _defineProperty2["default"])(_LineToolComponent, "propTypes", _objectSpread(_objectSpread({}, _plot.types.ToolPropTypeFields), {}, {
236
212
  graphProps: _plot.types.GraphPropsType.isRequired
237
- })), _class;
213
+ })), _LineToolComponent;
238
214
  };
239
-
240
- exports.lineToolComponent = lineToolComponent;
241
-
242
215
  var dragOpts = function dragOpts() {
243
216
  return {
244
- bounds: function bounds(props, _ref3) {
245
- var domain = _ref3.domain,
246
- range = _ref3.range;
247
-
217
+ bounds: function bounds(props, _ref4) {
218
+ var domain = _ref4.domain,
219
+ range = _ref4.range;
248
220
  var area = _plot.utils.lineToArea(props.from, props.to);
249
-
250
221
  return _plot.utils.bounds(area, domain, range);
251
222
  },
252
223
  anchorPoint: function anchorPoint(props) {
@@ -255,7 +226,7 @@ var dragOpts = function dragOpts() {
255
226
  },
256
227
  fromDelta: function fromDelta(props, delta) {
257
228
  var from = props.from,
258
- to = props.to;
229
+ to = props.to;
259
230
  return {
260
231
  from: _plot.utils.point(from).add(_plot.utils.point(delta)),
261
232
  to: _plot.utils.point(to).add(_plot.utils.point(delta))
@@ -263,79 +234,63 @@ var dragOpts = function dragOpts() {
263
234
  }
264
235
  };
265
236
  };
266
-
267
- var lineBase = function lineBase(Comp, opts) {
237
+ var lineBase = exports.lineBase = function lineBase(Comp, opts) {
268
238
  var DraggableComp = (0, _plot.gridDraggable)(dragOpts())(Comp);
269
239
  var FromPoint = opts && opts.from ? opts.from : _point.BasePoint;
270
240
  var ToPoint = opts && opts.to ? opts.to : _point.BasePoint;
271
-
272
241
  var LineBase = /*#__PURE__*/function (_React$Component2) {
273
- (0, _inherits2["default"])(LineBase, _React$Component2);
274
-
275
- var _super2 = _createSuper(LineBase);
276
-
277
242
  function LineBase() {
278
243
  var _this2;
279
-
280
244
  (0, _classCallCheck2["default"])(this, LineBase);
281
-
282
245
  for (var _len = arguments.length, args = new Array(_len), _key = 0; _key < _len; _key++) {
283
246
  args[_key] = arguments[_key];
284
247
  }
285
-
286
- _this2 = _super2.call.apply(_super2, [this].concat(args));
287
- (0, _defineProperty2["default"])((0, _assertThisInitialized2["default"])(_this2), "onChangePoint", function (point) {
248
+ _this2 = _callSuper(this, LineBase, [].concat(args));
249
+ (0, _defineProperty2["default"])(_this2, "onChangePoint", function (point) {
288
250
  var _this2$props = _this2.props,
289
- middle = _this2$props.middle,
290
- onChange = _this2$props.onChange;
251
+ middle = _this2$props.middle,
252
+ onChange = _this2$props.onChange;
291
253
  var from = point.from,
292
- to = point.to; // because point.from.label and point.to.label can be different
254
+ to = point.to;
293
255
 
256
+ // because point.from.label and point.to.label can be different
294
257
  if (!(0, _utils.equalPoints)(from, to)) {
295
258
  if (middle) {
296
259
  point.middle = _objectSpread(_objectSpread({}, middle), (0, _utils.getMiddleOfTwoPoints)(from, to));
297
260
  }
298
-
299
261
  onChange(point);
300
262
  }
301
263
  });
302
- (0, _defineProperty2["default"])((0, _assertThisInitialized2["default"])(_this2), "dragComp", function (_ref4) {
303
- var draggedFrom = _ref4.from,
304
- draggedTo = _ref4.to;
264
+ (0, _defineProperty2["default"])(_this2, "dragComp", function (_ref5) {
265
+ var draggedFrom = _ref5.from,
266
+ draggedTo = _ref5.to;
305
267
  var _this2$props2 = _this2.props,
306
- from = _this2$props2.from,
307
- to = _this2$props2.to,
308
- onChange = _this2$props2.onChange,
309
- middle = _this2$props2.middle;
310
-
268
+ from = _this2$props2.from,
269
+ to = _this2$props2.to,
270
+ onChange = _this2$props2.onChange,
271
+ middle = _this2$props2.middle;
311
272
  if (from.label) {
312
273
  draggedFrom.label = from.label;
313
274
  }
314
-
315
275
  if (to.label) {
316
276
  draggedTo.label = to.label;
317
277
  }
318
-
319
278
  var updated = {
320
279
  from: draggedFrom,
321
280
  to: draggedTo
322
281
  };
323
-
324
282
  if (middle) {
325
283
  updated.middle = _objectSpread(_objectSpread({}, middle), (0, _utils.getMiddleOfTwoPoints)(draggedFrom, draggedTo));
326
284
  }
327
-
328
285
  onChange(updated);
329
286
  });
330
- (0, _defineProperty2["default"])((0, _assertThisInitialized2["default"])(_this2), "dragFrom", function (draggedFrom) {
287
+ (0, _defineProperty2["default"])(_this2, "dragFrom", function (draggedFrom) {
331
288
  var _this2$props3 = _this2.props,
332
- from = _this2$props3.from,
333
- to = _this2$props3.to;
334
-
289
+ from = _this2$props3.from,
290
+ to = _this2$props3.to;
335
291
  if (from.label) {
336
292
  draggedFrom.label = from.label;
337
293
  }
338
-
339
294
  if (!(0, _utils.equalPoints)(draggedFrom, to)) {
340
295
  _this2.onChangePoint({
341
296
  from: draggedFrom,
@@ -343,15 +298,13 @@ var lineBase = function lineBase(Comp, opts) {
343
298
  });
344
299
  }
345
300
  });
346
- (0, _defineProperty2["default"])((0, _assertThisInitialized2["default"])(_this2), "dragTo", function (draggedTo) {
301
+ (0, _defineProperty2["default"])(_this2, "dragTo", function (draggedTo) {
347
302
  var _this2$props4 = _this2.props,
348
- from = _this2$props4.from,
349
- to = _this2$props4.to;
350
-
303
+ from = _this2$props4.from,
304
+ to = _this2$props4.to;
351
305
  if (to.label) {
352
306
  draggedTo.label = to.label;
353
307
  }
354
-
355
308
  if (!(0, _utils.equalPoints)(from, draggedTo)) {
356
309
  _this2.onChangePoint({
357
310
  from: from,
@@ -359,78 +312,70 @@ var lineBase = function lineBase(Comp, opts) {
359
312
  });
360
313
  }
361
314
  });
362
- (0, _defineProperty2["default"])((0, _assertThisInitialized2["default"])(_this2), "labelChange", function (point, type) {
315
+ (0, _defineProperty2["default"])(_this2, "labelChange", function (point, type) {
363
316
  var changeMarkProps = _this2.props.changeMarkProps;
364
-
365
317
  var update = _objectSpread({}, point);
366
-
367
318
  if (!point.label || (0, _isEmpty["default"])(point.label)) {
368
319
  delete update.label;
369
320
  }
370
-
371
321
  changeMarkProps((0, _defineProperty2["default"])({}, type, update));
372
322
  });
373
- (0, _defineProperty2["default"])((0, _assertThisInitialized2["default"])(_this2), "clickPoint", function (point, type, data) {
323
+ (0, _defineProperty2["default"])(_this2, "clickPoint", function (point, type, data) {
374
324
  var _this2$props5 = _this2.props,
375
- changeMarkProps = _this2$props5.changeMarkProps,
376
- disabled = _this2$props5.disabled,
377
- from = _this2$props5.from,
378
- to = _this2$props5.to,
379
- labelModeEnabled = _this2$props5.labelModeEnabled,
380
- limitLabeling = _this2$props5.limitLabeling,
381
- onClick = _this2$props5.onClick;
382
-
325
+ changeMarkProps = _this2$props5.changeMarkProps,
326
+ disabled = _this2$props5.disabled,
327
+ from = _this2$props5.from,
328
+ to = _this2$props5.to,
329
+ labelModeEnabled = _this2$props5.labelModeEnabled,
330
+ limitLabeling = _this2$props5.limitLabeling,
331
+ onClick = _this2$props5.onClick;
383
332
  if (!labelModeEnabled) {
384
333
  onClick(point || data);
385
334
  return;
386
335
  }
387
-
388
336
  if (disabled) {
389
337
  return;
390
- } // limit labeling the points of the line
391
-
338
+ }
392
339
 
340
+ // limit labeling the points of the line
393
341
  if (limitLabeling) {
394
342
  return;
395
343
  }
396
-
397
344
  if (type === 'middle' && !point && from && to) {
398
345
  point = _objectSpread(_objectSpread({}, point), (0, _utils.getMiddleOfTwoPoints)(from, to));
399
346
  }
400
-
401
347
  changeMarkProps((0, _defineProperty2["default"])({
402
348
  from: from,
403
349
  to: to
404
350
  }, type, _objectSpread({
405
351
  label: ''
406
352
  }, point)));
407
-
408
353
  if (_this2.input[type]) {
409
354
  _this2.input[type].focus();
410
355
  }
411
356
  });
412
- (0, _defineProperty2["default"])((0, _assertThisInitialized2["default"])(_this2), "input", {});
357
+ // IMPORTANT, do not remove
358
+ (0, _defineProperty2["default"])(_this2, "input", {});
413
359
  return _this2;
414
360
  }
415
-
416
- (0, _createClass2["default"])(LineBase, [{
361
+ (0, _inherits2["default"])(LineBase, _React$Component2);
362
+ return (0, _createClass2["default"])(LineBase, [{
417
363
  key: "render",
418
364
  value: function render() {
419
365
  var _this3 = this;
420
-
421
366
  var _this$props4 = this.props,
422
- coordinatesOnHover = _this$props4.coordinatesOnHover,
423
- graphProps = _this$props4.graphProps,
424
- onDragStart = _this$props4.onDragStart,
425
- onDragStop = _this$props4.onDragStop,
426
- from = _this$props4.from,
427
- to = _this$props4.to,
428
- middle = _this$props4.middle,
429
- disabled = _this$props4.disabled,
430
- correctness = _this$props4.correctness,
431
- onClick = _this$props4.onClick,
432
- labelNode = _this$props4.labelNode,
433
- labelModeEnabled = _this$props4.labelModeEnabled;
367
+ coordinatesOnHover = _this$props4.coordinatesOnHover,
368
+ graphProps = _this$props4.graphProps,
369
+ onDragStart = _this$props4.onDragStart,
370
+ onDragStop = _this$props4.onDragStop,
371
+ from = _this$props4.from,
372
+ to = _this$props4.to,
373
+ middle = _this$props4.middle,
374
+ disabled = _this$props4.disabled,
375
+ correctness = _this$props4.correctness,
376
+ onClick = _this$props4.onClick,
377
+ labelNode = _this$props4.labelNode,
378
+ labelModeEnabled = _this$props4.labelModeEnabled;
434
379
  var common = {
435
380
  graphProps: graphProps,
436
381
  onDragStart: onDragStart,
@@ -443,10 +388,9 @@ var lineBase = function lineBase(Comp, opts) {
443
388
  var fromLabelNode = null;
444
389
  var toLabelNode = null;
445
390
  var lineLabelNode = null;
446
-
447
391
  if (labelNode) {
448
392
  if (from && from.hasOwnProperty('label')) {
449
- fromLabelNode = /*#__PURE__*/_reactDom["default"].createPortal( /*#__PURE__*/_react["default"].createElement(_markLabel["default"], {
393
+ fromLabelNode = /*#__PURE__*/_reactDom["default"].createPortal(/*#__PURE__*/_react["default"].createElement(_markLabel["default"], {
450
394
  inputRef: function inputRef(r) {
451
395
  return _this3.input.from = r;
452
396
  },
@@ -460,9 +404,8 @@ var lineBase = function lineBase(Comp, opts) {
460
404
  }
461
405
  }), labelNode);
462
406
  }
463
-
464
407
  if (to && to.hasOwnProperty('label')) {
465
- toLabelNode = /*#__PURE__*/_reactDom["default"].createPortal( /*#__PURE__*/_react["default"].createElement(_markLabel["default"], {
408
+ toLabelNode = /*#__PURE__*/_reactDom["default"].createPortal(/*#__PURE__*/_react["default"].createElement(_markLabel["default"], {
466
409
  inputRef: function inputRef(r) {
467
410
  return _this3.input.to = r;
468
411
  },
@@ -476,9 +419,8 @@ var lineBase = function lineBase(Comp, opts) {
476
419
  }
477
420
  }), labelNode);
478
421
  }
479
-
480
422
  if (middle && middle.hasOwnProperty('label')) {
481
- lineLabelNode = /*#__PURE__*/_reactDom["default"].createPortal( /*#__PURE__*/_react["default"].createElement(_markLabel["default"], {
423
+ lineLabelNode = /*#__PURE__*/_reactDom["default"].createPortal(/*#__PURE__*/_react["default"].createElement(_markLabel["default"], {
482
424
  inputRef: function inputRef(r) {
483
425
  return _this3.input.middle = r;
484
426
  },
@@ -493,8 +435,10 @@ var lineBase = function lineBase(Comp, opts) {
493
435
  }), labelNode);
494
436
  }
495
437
  }
496
-
497
- return /*#__PURE__*/_react["default"].createElement("g", null, to && /*#__PURE__*/_react["default"].createElement(DraggableComp, (0, _extends2["default"])({
438
+ return /*#__PURE__*/_react["default"].createElement(StyledLineGroup, {
439
+ disabled: disabled,
440
+ correctness: correctness
441
+ }, to && /*#__PURE__*/_react["default"].createElement(DraggableComp, (0, _extends2["default"])({
498
442
  from: from,
499
443
  to: to,
500
444
  middle: middle,
@@ -528,9 +472,7 @@ var lineBase = function lineBase(Comp, opts) {
528
472
  })), toLabelNode);
529
473
  }
530
474
  }]);
531
- return LineBase;
532
475
  }(_react["default"].Component);
533
-
534
476
  (0, _defineProperty2["default"])(LineBase, "propTypes", {
535
477
  coordinatesOnHover: _propTypes["default"].bool,
536
478
  graphProps: _plot.types.GraphPropsType,
@@ -549,9 +491,7 @@ var lineBase = function lineBase(Comp, opts) {
549
491
  });
550
492
  return LineBase;
551
493
  };
552
-
553
- exports.lineBase = lineBase;
554
- var styles = {
494
+ var styles = exports.styles = {
555
495
  line: function line() {
556
496
  return {
557
497
  fill: 'transparent',
@@ -595,5 +535,4 @@ var styles = {
595
535
  });
596
536
  }
597
537
  };
598
- exports.styles = styles;
599
538
  //# sourceMappingURL=index.js.map