@pie-lib/graphing 2.14.22 → 2.15.0-beta.2

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 (215) hide show
  1. package/CHANGELOG.md +21 -72
  2. package/NEXT.CHANGELOG.json +1 -0
  3. package/package.json +15 -9
  4. package/src/__tests__/__snapshots__/graph-with-controls.test.jsx.snap +237 -0
  5. package/src/__tests__/__snapshots__/graph.test.jsx.snap +211 -0
  6. package/src/__tests__/__snapshots__/grid.test.jsx.snap +54 -0
  7. package/src/__tests__/__snapshots__/labels.test.jsx.snap +30 -0
  8. package/src/__tests__/__snapshots__/mark-label.test.jsx.snap +45 -0
  9. package/src/__tests__/__snapshots__/toggle-bar.test.jsx.snap +7 -0
  10. package/src/__tests__/__snapshots__/tool-menu.test.jsx.snap +13 -0
  11. package/src/__tests__/__snapshots__/undo-redo.test.jsx.snap +14 -0
  12. package/src/__tests__/graph-with-controls.test.jsx +147 -0
  13. package/src/__tests__/graph.test.jsx +230 -0
  14. package/src/__tests__/grid.test.jsx +20 -0
  15. package/src/__tests__/labels.test.jsx +38 -0
  16. package/src/__tests__/mark-label.test.jsx +68 -0
  17. package/src/__tests__/toggle-bar.test.jsx +36 -0
  18. package/src/__tests__/tool-menu.test.jsx +29 -0
  19. package/src/__tests__/undo-redo.test.jsx +25 -0
  20. package/src/__tests__/use-debounce.test.js +21 -0
  21. package/src/__tests__/utils.js +38 -0
  22. package/src/__tests__/utils.test.js +151 -0
  23. package/src/axis/__tests__/__snapshots__/arrow.test.jsx.snap +33 -0
  24. package/src/axis/__tests__/__snapshots__/axes.test.jsx.snap +122 -0
  25. package/src/axis/__tests__/arrow.test.jsx +39 -0
  26. package/src/axis/__tests__/axes.test.jsx +220 -0
  27. package/src/axis/axes.jsx +5 -5
  28. package/src/container/index.jsx +2 -4
  29. package/src/coordinates-label.jsx +4 -3
  30. package/src/graph-with-controls.jsx +8 -10
  31. package/src/graph.jsx +22 -10
  32. package/src/grid.jsx +8 -10
  33. package/src/index.js +2 -2
  34. package/src/key-legend.jsx +145 -0
  35. package/src/label-svg-icon.jsx +39 -0
  36. package/src/labels.jsx +2 -1
  37. package/src/mark-label.jsx +149 -52
  38. package/src/toggle-bar.jsx +1 -2
  39. package/src/tool-menu.jsx +3 -26
  40. package/src/tools/absolute/__tests__/component.test.jsx +54 -0
  41. package/src/tools/absolute/component.jsx +23 -0
  42. package/src/tools/absolute/index.js +31 -0
  43. package/src/tools/circle/__tests__/__snapshots__/bg-circle.test.jsx.snap +46 -0
  44. package/src/tools/circle/__tests__/__snapshots__/component.test.jsx.snap +293 -0
  45. package/src/tools/circle/__tests__/bg-circle.test.jsx +28 -0
  46. package/src/tools/circle/__tests__/component.test.jsx +228 -0
  47. package/src/tools/circle/bg-circle.jsx +5 -4
  48. package/src/tools/circle/component.jsx +22 -8
  49. package/src/tools/exponential/__tests__/component.test.jsx +54 -0
  50. package/src/tools/exponential/component.jsx +23 -0
  51. package/src/tools/exponential/index.js +39 -0
  52. package/src/tools/index.js +38 -5
  53. package/src/tools/line/__tests__/__snapshots__/component.test.jsx.snap +20 -0
  54. package/src/tools/line/__tests__/component.test.jsx +36 -0
  55. package/src/tools/line/component.jsx +2 -1
  56. package/src/tools/parabola/__tests__/component.test.jsx +49 -0
  57. package/src/tools/parabola/component.jsx +7 -6
  58. package/src/tools/point/__tests__/__snapshots__/component.test.jsx.snap +40 -0
  59. package/src/tools/point/__tests__/component.test.jsx +66 -0
  60. package/src/tools/point/component.jsx +12 -6
  61. package/src/tools/polygon/__tests__/__snapshots__/component.test.jsx.snap +415 -0
  62. package/src/tools/polygon/__tests__/__snapshots__/line.test.jsx.snap +45 -0
  63. package/src/tools/polygon/__tests__/__snapshots__/polygon.test.jsx.snap +52 -0
  64. package/src/tools/polygon/__tests__/component.test.jsx +226 -0
  65. package/src/tools/polygon/__tests__/index.test.js +65 -0
  66. package/src/tools/polygon/__tests__/line.test.jsx +25 -0
  67. package/src/tools/polygon/__tests__/polygon.test.jsx +44 -0
  68. package/src/tools/polygon/component.jsx +39 -11
  69. package/src/tools/polygon/line.jsx +15 -7
  70. package/src/tools/polygon/polygon.jsx +7 -3
  71. package/src/tools/ray/__tests__/__snapshots__/component.test.jsx.snap +23 -0
  72. package/src/tools/ray/__tests__/component.test.jsx +29 -0
  73. package/src/tools/ray/component.jsx +2 -1
  74. package/src/tools/segment/__tests__/__snapshots__/component.test.jsx.snap +14 -0
  75. package/src/tools/segment/__tests__/component.test.jsx +28 -0
  76. package/src/tools/segment/component.jsx +2 -1
  77. package/src/tools/shared/__tests__/__snapshots__/arrow-head.test.jsx.snap +27 -0
  78. package/src/tools/shared/__tests__/arrow-head.test.jsx +34 -0
  79. package/src/tools/shared/icons/CorrectSVG.jsx +22 -0
  80. package/src/tools/shared/icons/IncorrectSVG.jsx +20 -0
  81. package/src/tools/shared/icons/MissingSVG.jsx +21 -0
  82. package/src/tools/shared/line/__tests__/__snapshots__/index.test.jsx.snap +360 -0
  83. package/src/tools/shared/line/__tests__/__snapshots__/line-path.test.jsx.snap +58 -0
  84. package/src/tools/shared/line/__tests__/__snapshots__/with-root-edge.test.jsx.snap +63 -0
  85. package/src/tools/shared/line/__tests__/index.test.jsx +255 -0
  86. package/src/tools/shared/line/__tests__/line-path.test.jsx +53 -0
  87. package/src/tools/shared/line/__tests__/with-root-edge.test.jsx +73 -0
  88. package/src/tools/shared/line/index.jsx +39 -13
  89. package/src/tools/shared/line/line-path.jsx +18 -7
  90. package/src/tools/shared/line/with-root-edge.jsx +10 -3
  91. package/src/tools/shared/point/__tests__/__snapshots__/arrow-point.test.jsx.snap +56 -0
  92. package/src/tools/shared/point/__tests__/__snapshots__/base-point.test.jsx.snap +44 -0
  93. package/src/tools/shared/point/__tests__/arrow-point.test.jsx +87 -0
  94. package/src/tools/shared/point/__tests__/base-point.test.jsx +84 -0
  95. package/src/tools/shared/point/arrow-point.jsx +4 -1
  96. package/src/tools/shared/point/arrow.jsx +4 -1
  97. package/src/tools/shared/point/base-point.jsx +28 -3
  98. package/src/tools/shared/point/index.jsx +7 -2
  99. package/src/tools/shared/styles.js +8 -3
  100. package/src/tools/sine/__tests__/component.test.jsx +51 -0
  101. package/src/tools/sine/component.jsx +7 -7
  102. package/src/tools/vector/__tests__/__snapshots__/component.test.jsx.snap +12 -0
  103. package/src/tools/vector/__tests__/component.test.jsx +26 -0
  104. package/src/tools/vector/component.jsx +2 -1
  105. package/src/undo-redo.jsx +0 -1
  106. package/src/utils.js +1 -1
  107. package/legacy.png +0 -0
  108. package/lib/axis/arrow.js +0 -115
  109. package/lib/axis/arrow.js.map +0 -1
  110. package/lib/axis/axes.js +0 -415
  111. package/lib/axis/axes.js.map +0 -1
  112. package/lib/axis/index.js +0 -26
  113. package/lib/axis/index.js.map +0 -1
  114. package/lib/bg.js +0 -139
  115. package/lib/bg.js.map +0 -1
  116. package/lib/container/actions.js +0 -24
  117. package/lib/container/actions.js.map +0 -1
  118. package/lib/container/index.js +0 -166
  119. package/lib/container/index.js.map +0 -1
  120. package/lib/container/marks.js +0 -27
  121. package/lib/container/marks.js.map +0 -1
  122. package/lib/container/middleware.js +0 -25
  123. package/lib/container/middleware.js.map +0 -1
  124. package/lib/container/reducer.js +0 -25
  125. package/lib/container/reducer.js.map +0 -1
  126. package/lib/coordinates-label.js +0 -107
  127. package/lib/coordinates-label.js.map +0 -1
  128. package/lib/graph-with-controls.js +0 -366
  129. package/lib/graph-with-controls.js.map +0 -1
  130. package/lib/graph.js +0 -354
  131. package/lib/graph.js.map +0 -1
  132. package/lib/grid-setup.js +0 -462
  133. package/lib/grid-setup.js.map +0 -1
  134. package/lib/grid.js +0 -184
  135. package/lib/grid.js.map +0 -1
  136. package/lib/index.js +0 -51
  137. package/lib/index.js.map +0 -1
  138. package/lib/labels.js +0 -298
  139. package/lib/labels.js.map +0 -1
  140. package/lib/mark-label.js +0 -210
  141. package/lib/mark-label.js.map +0 -1
  142. package/lib/toggle-bar.js +0 -337
  143. package/lib/toggle-bar.js.map +0 -1
  144. package/lib/tool-menu.js +0 -132
  145. package/lib/tool-menu.js.map +0 -1
  146. package/lib/tools/circle/bg-circle.js +0 -172
  147. package/lib/tools/circle/bg-circle.js.map +0 -1
  148. package/lib/tools/circle/component.js +0 -387
  149. package/lib/tools/circle/component.js.map +0 -1
  150. package/lib/tools/circle/index.js +0 -51
  151. package/lib/tools/circle/index.js.map +0 -1
  152. package/lib/tools/index.js +0 -79
  153. package/lib/tools/index.js.map +0 -1
  154. package/lib/tools/line/component.js +0 -102
  155. package/lib/tools/line/component.js.map +0 -1
  156. package/lib/tools/line/index.js +0 -16
  157. package/lib/tools/line/index.js.map +0 -1
  158. package/lib/tools/parabola/component.js +0 -33
  159. package/lib/tools/parabola/component.js.map +0 -1
  160. package/lib/tools/parabola/index.js +0 -63
  161. package/lib/tools/parabola/index.js.map +0 -1
  162. package/lib/tools/point/component.js +0 -181
  163. package/lib/tools/point/component.js.map +0 -1
  164. package/lib/tools/point/index.js +0 -32
  165. package/lib/tools/point/index.js.map +0 -1
  166. package/lib/tools/polygon/component.js +0 -505
  167. package/lib/tools/polygon/component.js.map +0 -1
  168. package/lib/tools/polygon/index.js +0 -106
  169. package/lib/tools/polygon/index.js.map +0 -1
  170. package/lib/tools/polygon/line.js +0 -151
  171. package/lib/tools/polygon/line.js.map +0 -1
  172. package/lib/tools/polygon/polygon.js +0 -162
  173. package/lib/tools/polygon/polygon.js.map +0 -1
  174. package/lib/tools/ray/component.js +0 -101
  175. package/lib/tools/ray/component.js.map +0 -1
  176. package/lib/tools/ray/index.js +0 -16
  177. package/lib/tools/ray/index.js.map +0 -1
  178. package/lib/tools/segment/component.js +0 -74
  179. package/lib/tools/segment/component.js.map +0 -1
  180. package/lib/tools/segment/index.js +0 -16
  181. package/lib/tools/segment/index.js.map +0 -1
  182. package/lib/tools/shared/arrow-head.js +0 -70
  183. package/lib/tools/shared/arrow-head.js.map +0 -1
  184. package/lib/tools/shared/line/index.js +0 -567
  185. package/lib/tools/shared/line/index.js.map +0 -1
  186. package/lib/tools/shared/line/line-path.js +0 -145
  187. package/lib/tools/shared/line/line-path.js.map +0 -1
  188. package/lib/tools/shared/line/with-root-edge.js +0 -144
  189. package/lib/tools/shared/line/with-root-edge.js.map +0 -1
  190. package/lib/tools/shared/point/arrow-point.js +0 -113
  191. package/lib/tools/shared/point/arrow-point.js.map +0 -1
  192. package/lib/tools/shared/point/arrow.js +0 -96
  193. package/lib/tools/shared/point/arrow.js.map +0 -1
  194. package/lib/tools/shared/point/base-point.js +0 -139
  195. package/lib/tools/shared/point/base-point.js.map +0 -1
  196. package/lib/tools/shared/point/index.js +0 -94
  197. package/lib/tools/shared/point/index.js.map +0 -1
  198. package/lib/tools/shared/styles.js +0 -49
  199. package/lib/tools/shared/styles.js.map +0 -1
  200. package/lib/tools/shared/types.js +0 -23
  201. package/lib/tools/shared/types.js.map +0 -1
  202. package/lib/tools/sine/component.js +0 -42
  203. package/lib/tools/sine/component.js.map +0 -1
  204. package/lib/tools/sine/index.js +0 -63
  205. package/lib/tools/sine/index.js.map +0 -1
  206. package/lib/tools/vector/component.js +0 -87
  207. package/lib/tools/vector/component.js.map +0 -1
  208. package/lib/tools/vector/index.js +0 -16
  209. package/lib/tools/vector/index.js.map +0 -1
  210. package/lib/undo-redo.js +0 -124
  211. package/lib/undo-redo.js.map +0 -1
  212. package/lib/use-debounce.js +0 -32
  213. package/lib/use-debounce.js.map +0 -1
  214. package/lib/utils.js +0 -307
  215. package/lib/utils.js.map +0 -1
@@ -1,387 +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.RawBaseCircle = exports.BaseCircle = void 0;
9
-
10
- var _extends2 = _interopRequireDefault(require("@babel/runtime/helpers/extends"));
11
-
12
- var _classCallCheck2 = _interopRequireDefault(require("@babel/runtime/helpers/classCallCheck"));
13
-
14
- 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
- var _possibleConstructorReturn2 = _interopRequireDefault(require("@babel/runtime/helpers/possibleConstructorReturn"));
21
-
22
- var _getPrototypeOf2 = _interopRequireDefault(require("@babel/runtime/helpers/getPrototypeOf"));
23
-
24
- var _defineProperty2 = _interopRequireDefault(require("@babel/runtime/helpers/defineProperty"));
25
-
26
- var _react = _interopRequireDefault(require("react"));
27
-
28
- var _propTypes = _interopRequireDefault(require("prop-types"));
29
-
30
- var _styles = require("@material-ui/core/styles");
31
-
32
- var _point = require("../shared/point");
33
-
34
- var _bgCircle = _interopRequireDefault(require("./bg-circle"));
35
-
36
- var _utils = require("../../utils");
37
-
38
- var _classnames = _interopRequireDefault(require("classnames"));
39
-
40
- var _plot = require("@pie-lib/plot");
41
-
42
- var _withRootEdge = require("../shared/line/with-root-edge");
43
-
44
- var _reactDom = _interopRequireDefault(require("react-dom"));
45
-
46
- var _markLabel = _interopRequireDefault(require("../../mark-label"));
47
-
48
- var _isEmpty = _interopRequireDefault(require("lodash/isEmpty"));
49
-
50
- var _renderUi = require("@pie-lib/render-ui");
51
-
52
- 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
-
54
- 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; }
55
-
56
- 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); }; }
57
-
58
- 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; } }
59
-
60
- var opacityPulsate = function opacityPulsate(opacity) {
61
- return {
62
- '0%': {
63
- opacity: '0.0'
64
- },
65
- '50%': {
66
- opacity: opacity
67
- },
68
- '100%': {
69
- opacity: '0.0'
70
- }
71
- };
72
- };
73
-
74
- var getRadius = function getRadius(from, outer) {
75
- var c = (0, _utils.point)(from);
76
- return c.dist((0, _utils.point)(outer));
77
- };
78
-
79
- var RawBaseCircle = /*#__PURE__*/function (_React$Component) {
80
- (0, _inherits2["default"])(RawBaseCircle, _React$Component);
81
-
82
- var _super = _createSuper(RawBaseCircle);
83
-
84
- function RawBaseCircle() {
85
- var _this;
86
-
87
- (0, _classCallCheck2["default"])(this, RawBaseCircle);
88
-
89
- for (var _len = arguments.length, args = new Array(_len), _key = 0; _key < _len; _key++) {
90
- args[_key] = arguments[_key];
91
- }
92
-
93
- _this = _super.call.apply(_super, [this].concat(args));
94
- (0, _defineProperty2["default"])((0, _assertThisInitialized2["default"])(_this), "onChangePoint", function (point) {
95
- var _this$props = _this.props,
96
- middle = _this$props.middle,
97
- onChange = _this$props.onChange;
98
- var from = point.from,
99
- to = point.to; // because point.from.label and point.to.label can be different
100
-
101
- if (!(0, _utils.equalPoints)(from, to)) {
102
- if (middle) {
103
- point.middle = _objectSpread(_objectSpread({}, middle), (0, _utils.getMiddleOfTwoPoints)(from, to));
104
- }
105
-
106
- onChange(point);
107
- }
108
- });
109
- (0, _defineProperty2["default"])((0, _assertThisInitialized2["default"])(_this), "dragFrom", function (draggedFrom) {
110
- var _this$props2 = _this.props,
111
- from = _this$props2.from,
112
- to = _this$props2.to;
113
-
114
- if (from.label) {
115
- draggedFrom.label = from.label;
116
- }
117
-
118
- if (!(0, _utils.equalPoints)(draggedFrom, to)) {
119
- _this.onChangePoint({
120
- from: draggedFrom,
121
- to: to
122
- });
123
- }
124
- });
125
- (0, _defineProperty2["default"])((0, _assertThisInitialized2["default"])(_this), "dragTo", function (draggedTo) {
126
- var _this$props3 = _this.props,
127
- from = _this$props3.from,
128
- to = _this$props3.to;
129
-
130
- if (to.label) {
131
- draggedTo.label = to.label;
132
- }
133
-
134
- if (!(0, _utils.equalPoints)(from, draggedTo)) {
135
- _this.onChangePoint({
136
- from: from,
137
- to: draggedTo
138
- });
139
- }
140
- });
141
- (0, _defineProperty2["default"])((0, _assertThisInitialized2["default"])(_this), "dragCircle", function (draggedFrom) {
142
- var _this$props4 = _this.props,
143
- from = _this$props4.from,
144
- to = _this$props4.to,
145
- onChange = _this$props4.onChange,
146
- middle = _this$props4.middle;
147
- var diff = (0, _utils.point)(from).sub((0, _utils.point)(draggedFrom));
148
- var draggedTo = (0, _utils.point)(to).sub(diff);
149
-
150
- if (from.label) {
151
- draggedFrom.label = from.label;
152
- }
153
-
154
- if (to.label) {
155
- draggedTo.label = to.label;
156
- }
157
-
158
- var updated = {
159
- from: draggedFrom,
160
- to: draggedTo
161
- };
162
-
163
- if (middle) {
164
- updated.middle = _objectSpread(_objectSpread({}, middle), (0, _utils.getMiddleOfTwoPoints)(draggedFrom, draggedTo));
165
- }
166
-
167
- _this.setState({
168
- draggedroot: undefined,
169
- draggedOuter: undefined,
170
- isCircleDrag: false
171
- }, function () {
172
- onChange(updated);
173
- });
174
- });
175
- (0, _defineProperty2["default"])((0, _assertThisInitialized2["default"])(_this), "labelChange", function (point, type) {
176
- var changeMarkProps = _this.props.changeMarkProps;
177
-
178
- var update = _objectSpread({}, point);
179
-
180
- if (!point.label || (0, _isEmpty["default"])(point.label)) {
181
- delete update.label;
182
- }
183
-
184
- changeMarkProps((0, _defineProperty2["default"])({}, type, update));
185
- });
186
- (0, _defineProperty2["default"])((0, _assertThisInitialized2["default"])(_this), "clickPoint", function (point, type) {
187
- var _this$props5 = _this.props,
188
- changeMarkProps = _this$props5.changeMarkProps,
189
- from = _this$props5.from,
190
- to = _this$props5.to;
191
-
192
- if (type === 'middle' && !point && from && to) {
193
- point = _objectSpread(_objectSpread({}, point), (0, _utils.getMiddleOfTwoPoints)(from, to));
194
- }
195
-
196
- changeMarkProps((0, _defineProperty2["default"])({
197
- from: from,
198
- to: to
199
- }, type, _objectSpread({
200
- label: ''
201
- }, point)));
202
-
203
- if (_this.input[type]) {
204
- _this.input[type].focus();
205
- }
206
- });
207
- (0, _defineProperty2["default"])((0, _assertThisInitialized2["default"])(_this), "input", {});
208
- return _this;
209
- }
210
-
211
- (0, _createClass2["default"])(RawBaseCircle, [{
212
- key: "render",
213
- value: function render() {
214
- var _this2 = this;
215
-
216
- var _this$props6 = this.props,
217
- from = _this$props6.from,
218
- to = _this$props6.to,
219
- middle = _this$props6.middle,
220
- disabled = _this$props6.disabled,
221
- classes = _this$props6.classes,
222
- coordinatesOnHover = _this$props6.coordinatesOnHover,
223
- building = _this$props6.building,
224
- onDragStart = _this$props6.onDragStart,
225
- onDragStop = _this$props6.onDragStop,
226
- onClick = _this$props6.onClick,
227
- correctness = _this$props6.correctness,
228
- graphProps = _this$props6.graphProps,
229
- labelNode = _this$props6.labelNode,
230
- labelModeEnabled = _this$props6.labelModeEnabled;
231
- var common = {
232
- onDragStart: onDragStart,
233
- onDragStop: onDragStop,
234
- graphProps: graphProps,
235
- onClick: onClick
236
- };
237
- to = to || from;
238
- var radius = getRadius(from, to);
239
- var fromLabelNode = null;
240
- var toLabelNode = null;
241
- var circleLabelNode = null;
242
-
243
- if (labelNode) {
244
- if (from && from.hasOwnProperty('label')) {
245
- fromLabelNode = /*#__PURE__*/_reactDom["default"].createPortal( /*#__PURE__*/_react["default"].createElement(_markLabel["default"], {
246
- inputRef: function inputRef(r) {
247
- return _this2.input.from = r;
248
- },
249
- disabled: !labelModeEnabled,
250
- mark: from,
251
- graphProps: graphProps,
252
- onChange: function onChange(label) {
253
- return _this2.labelChange(_objectSpread(_objectSpread({}, from), {}, {
254
- label: label
255
- }), 'from');
256
- }
257
- }), labelNode);
258
- }
259
-
260
- if (to && to.hasOwnProperty('label')) {
261
- toLabelNode = /*#__PURE__*/_reactDom["default"].createPortal( /*#__PURE__*/_react["default"].createElement(_markLabel["default"], {
262
- inputRef: function inputRef(r) {
263
- return _this2.input.to = r;
264
- },
265
- disabled: !labelModeEnabled,
266
- mark: to,
267
- graphProps: graphProps,
268
- onChange: function onChange(label) {
269
- return _this2.labelChange(_objectSpread(_objectSpread({}, to), {}, {
270
- label: label
271
- }), 'to');
272
- }
273
- }), labelNode);
274
- }
275
-
276
- if (middle && middle.hasOwnProperty('label')) {
277
- circleLabelNode = /*#__PURE__*/_reactDom["default"].createPortal( /*#__PURE__*/_react["default"].createElement(_markLabel["default"], {
278
- inputRef: function inputRef(r) {
279
- return _this2.input.middle = r;
280
- },
281
- disabled: !labelModeEnabled,
282
- mark: middle,
283
- graphProps: graphProps,
284
- onChange: function onChange(label) {
285
- return _this2.labelChange(_objectSpread(_objectSpread({}, middle), {}, {
286
- label: label
287
- }), 'middle');
288
- }
289
- }), labelNode);
290
- }
291
- }
292
-
293
- return /*#__PURE__*/_react["default"].createElement("g", null, /*#__PURE__*/_react["default"].createElement(_bgCircle["default"], (0, _extends2["default"])({
294
- disabled: building || disabled,
295
- correctness: correctness,
296
- className: (0, _classnames["default"])(building && classes.bgCircleBuilding),
297
- x: from.x,
298
- y: from.y,
299
- radius: radius,
300
- onDrag: this.dragCircle
301
- }, common, {
302
- onClick: labelModeEnabled ? function () {
303
- return _this2.clickPoint(middle, 'middle');
304
- } : common.onClick
305
- })), circleLabelNode, /*#__PURE__*/_react["default"].createElement(_point.BasePoint, (0, _extends2["default"])({
306
- disabled: building || disabled,
307
- coordinatesOnHover: coordinatesOnHover,
308
- correctness: correctness,
309
- labelNode: labelNode,
310
- x: to.x,
311
- y: to.y,
312
- onDrag: this.dragTo
313
- }, common, {
314
- onClick: labelModeEnabled ? function () {
315
- return _this2.clickPoint(to, 'to');
316
- } : common.onClick
317
- })), toLabelNode, /*#__PURE__*/_react["default"].createElement(_point.BasePoint, (0, _extends2["default"])({
318
- disabled: building || disabled,
319
- coordinatesOnHover: coordinatesOnHover,
320
- correctness: correctness,
321
- labelNode: labelNode,
322
- x: from.x,
323
- y: from.y,
324
- className: classes.from,
325
- onDrag: this.dragFrom
326
- }, common, {
327
- onClick: labelModeEnabled ? function () {
328
- return _this2.clickPoint(from, 'from');
329
- } : common.onClick
330
- })), fromLabelNode);
331
- }
332
- }]);
333
- return RawBaseCircle;
334
- }(_react["default"].Component);
335
-
336
- exports.RawBaseCircle = RawBaseCircle;
337
- (0, _defineProperty2["default"])(RawBaseCircle, "propTypes", {
338
- building: _propTypes["default"].bool,
339
- classes: _propTypes["default"].object.isRequired,
340
- className: _propTypes["default"].string,
341
- coordinatesOnHover: _propTypes["default"].bool,
342
- correctness: _propTypes["default"].string,
343
- from: _plot.types.PointType,
344
- disabled: _propTypes["default"].bool,
345
- to: _plot.types.PointType,
346
- middle: _plot.types.PointType,
347
- onChange: _propTypes["default"].func.isRequired,
348
- onDragStart: _propTypes["default"].func,
349
- onDragStop: _propTypes["default"].func,
350
- graphProps: _plot.types.GraphPropsType.isRequired,
351
- onClick: _propTypes["default"].func,
352
- labelNode: _propTypes["default"].object,
353
- labelModeEnabled: _propTypes["default"].bool,
354
- changeMarkProps: _propTypes["default"].func
355
- });
356
- (0, _defineProperty2["default"])(RawBaseCircle, "defaultProps", {
357
- onClick: function onClick() {
358
- return {};
359
- }
360
- });
361
- var BaseCircle = (0, _styles.withStyles)(function () {
362
- return {
363
- outerLine: {
364
- fill: 'rgb(0,0,0,0)',
365
- // TODO hardcoded color
366
- stroke: _renderUi.color.primaryLight(),
367
- strokeWidth: 4,
368
- '&:hover': {
369
- strokeWidth: 6,
370
- stroke: _renderUi.color.primaryDark()
371
- }
372
- },
373
- root: {},
374
- bgCircleBuilding: {
375
- stroke: _renderUi.color.secondaryLight(),
376
- animation: 'opacityPulse 2s ease-out',
377
- animationIterationCount: 'infinite',
378
- opacity: 1
379
- },
380
- '@keyframes opacityPulse': opacityPulsate('0.3')
381
- };
382
- })(RawBaseCircle);
383
- exports.BaseCircle = BaseCircle;
384
- var Component = (0, _withRootEdge.rootEdgeComponent)(BaseCircle);
385
- var _default = Component;
386
- exports["default"] = _default;
387
- //# sourceMappingURL=component.js.map
@@ -1 +0,0 @@
1
- {"version":3,"sources":["../../../src/tools/circle/component.jsx"],"names":["opacityPulsate","opacity","getRadius","from","outer","c","dist","RawBaseCircle","point","props","middle","onChange","to","draggedFrom","label","onChangePoint","draggedTo","diff","sub","updated","setState","draggedroot","undefined","draggedOuter","isCircleDrag","type","changeMarkProps","update","input","focus","disabled","classes","coordinatesOnHover","building","onDragStart","onDragStop","onClick","correctness","graphProps","labelNode","labelModeEnabled","common","radius","fromLabelNode","toLabelNode","circleLabelNode","hasOwnProperty","ReactDOM","createPortal","r","labelChange","bgCircleBuilding","x","y","dragCircle","clickPoint","dragTo","dragFrom","React","Component","PropTypes","bool","object","isRequired","className","string","types","PointType","func","GraphPropsType","BaseCircle","outerLine","fill","stroke","color","primaryLight","strokeWidth","primaryDark","root","secondaryLight","animation","animationIterationCount"],"mappings":"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","sourcesContent":["import React from 'react';\nimport PropTypes from 'prop-types';\nimport { withStyles } from '@material-ui/core/styles';\nimport { BasePoint } from '../shared/point';\nimport BgCircle from './bg-circle';\nimport { getMiddleOfTwoPoints, point, equalPoints } from '../../utils';\nimport classNames from 'classnames';\nimport { types } from '@pie-lib/plot';\nimport { rootEdgeComponent } from '../shared/line/with-root-edge';\nimport ReactDOM from 'react-dom';\nimport MarkLabel from '../../mark-label';\nimport isEmpty from 'lodash/isEmpty';\nimport { color } from '@pie-lib/render-ui';\n\nconst opacityPulsate = (opacity) => ({\n '0%': { opacity: '0.0' },\n '50%': { opacity },\n '100%': { opacity: '0.0' },\n});\n\nconst getRadius = (from, outer) => {\n const c = point(from);\n return c.dist(point(outer));\n};\n\nexport class RawBaseCircle extends React.Component {\n static propTypes = {\n building: PropTypes.bool,\n classes: PropTypes.object.isRequired,\n className: PropTypes.string,\n coordinatesOnHover: PropTypes.bool,\n correctness: PropTypes.string,\n from: types.PointType,\n disabled: PropTypes.bool,\n to: types.PointType,\n middle: types.PointType,\n onChange: PropTypes.func.isRequired,\n onDragStart: PropTypes.func,\n onDragStop: PropTypes.func,\n graphProps: types.GraphPropsType.isRequired,\n onClick: PropTypes.func,\n labelNode: PropTypes.object,\n labelModeEnabled: PropTypes.bool,\n changeMarkProps: PropTypes.func,\n };\n\n static defaultProps = {\n onClick: () => ({}),\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 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 });\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, to: draggedTo });\n }\n };\n\n dragCircle = (draggedFrom) => {\n const { from, to, onChange, middle } = this.props;\n const diff = point(from).sub(point(draggedFrom));\n const draggedTo = point(to).sub(diff);\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 this.setState(\n {\n draggedroot: undefined,\n draggedOuter: undefined,\n isCircleDrag: false,\n },\n () => {\n onChange(updated);\n },\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 let {\n from,\n to,\n middle,\n disabled,\n classes,\n coordinatesOnHover,\n building,\n onDragStart,\n onDragStop,\n onClick,\n correctness,\n graphProps,\n labelNode,\n labelModeEnabled,\n } = this.props;\n const common = { onDragStart, onDragStop, graphProps, onClick };\n\n to = to || from;\n\n const radius = getRadius(from, to);\n\n let fromLabelNode = null;\n let toLabelNode = null;\n let circleLabelNode = 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 circleLabelNode = 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 <BgCircle\n disabled={building || disabled}\n correctness={correctness}\n className={classNames(building && classes.bgCircleBuilding)}\n x={from.x}\n y={from.y}\n radius={radius}\n onDrag={this.dragCircle}\n {...common}\n onClick={labelModeEnabled ? () => this.clickPoint(middle, 'middle') : common.onClick}\n />\n {circleLabelNode}\n\n <BasePoint\n disabled={building || disabled}\n coordinatesOnHover={coordinatesOnHover}\n correctness={correctness}\n labelNode={labelNode}\n x={to.x}\n y={to.y}\n onDrag={this.dragTo}\n {...common}\n onClick={labelModeEnabled ? () => this.clickPoint(to, 'to') : common.onClick}\n />\n {toLabelNode}\n\n <BasePoint\n disabled={building || disabled}\n coordinatesOnHover={coordinatesOnHover}\n correctness={correctness}\n labelNode={labelNode}\n x={from.x}\n y={from.y}\n className={classes.from}\n onDrag={this.dragFrom}\n {...common}\n onClick={labelModeEnabled ? () => this.clickPoint(from, 'from') : common.onClick}\n />\n {fromLabelNode}\n </g>\n );\n }\n}\n\nexport const BaseCircle = withStyles(() => ({\n outerLine: {\n fill: 'rgb(0,0,0,0)', // TODO hardcoded color\n stroke: color.primaryLight(),\n strokeWidth: 4,\n '&:hover': {\n strokeWidth: 6,\n stroke: color.primaryDark(),\n },\n },\n root: {},\n bgCircleBuilding: {\n stroke: color.secondaryLight(),\n animation: 'opacityPulse 2s ease-out',\n animationIterationCount: 'infinite',\n opacity: 1,\n },\n '@keyframes opacityPulse': opacityPulsate('0.3'),\n}))(RawBaseCircle);\n\nconst Component = rootEdgeComponent(BaseCircle);\nexport default Component;\n"],"file":"component.js"}
@@ -1,51 +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.tool = void 0;
9
-
10
- var _defineProperty2 = _interopRequireDefault(require("@babel/runtime/helpers/defineProperty"));
11
-
12
- var _component = _interopRequireDefault(require("./component"));
13
-
14
- var _utils = require("../../utils");
15
-
16
- 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; }
17
-
18
- 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; }
19
-
20
- var tool = function tool() {
21
- return {
22
- type: 'circle',
23
- Component: _component["default"],
24
- hover: function hover(point, mark) {
25
- return _objectSpread(_objectSpread({}, mark), {}, {
26
- edge: point
27
- });
28
- },
29
- addPoint: function addPoint(point, mark) {
30
- if (mark && (0, _utils.equalPoints)(mark.root, point)) {
31
- return mark;
32
- }
33
-
34
- if (!mark) {
35
- return {
36
- type: 'circle',
37
- root: point,
38
- building: true
39
- };
40
- } else {
41
- return _objectSpread(_objectSpread({}, mark), {}, {
42
- edge: point,
43
- building: false
44
- });
45
- }
46
- }
47
- };
48
- };
49
-
50
- exports.tool = tool;
51
- //# sourceMappingURL=index.js.map
@@ -1 +0,0 @@
1
- {"version":3,"sources":["../../../src/tools/circle/index.js"],"names":["tool","type","Component","Circle","hover","point","mark","edge","addPoint","root","building"],"mappings":";;;;;;;;;;;AAAA;;AACA;;;;;;AAEO,IAAMA,IAAI,GAAG,SAAPA,IAAO;AAAA,SAAO;AACzBC,IAAAA,IAAI,EAAE,QADmB;AAEzBC,IAAAA,SAAS,EAAEC,qBAFc;AAGzBC,IAAAA,KAAK,EAAE,eAACC,KAAD,EAAQC,IAAR,EAAiB;AACtB,6CAAYA,IAAZ;AAAkBC,QAAAA,IAAI,EAAEF;AAAxB;AACD,KALwB;AAMzBG,IAAAA,QAAQ,EAAE,kBAACH,KAAD,EAAQC,IAAR,EAAiB;AACzB,UAAIA,IAAI,IAAI,wBAAYA,IAAI,CAACG,IAAjB,EAAuBJ,KAAvB,CAAZ,EAA2C;AACzC,eAAOC,IAAP;AACD;;AAED,UAAI,CAACA,IAAL,EAAW;AACT,eAAO;AACLL,UAAAA,IAAI,EAAE,QADD;AAELQ,UAAAA,IAAI,EAAEJ,KAFD;AAGLK,UAAAA,QAAQ,EAAE;AAHL,SAAP;AAKD,OAND,MAMO;AACL,+CAAYJ,IAAZ;AAAkBC,UAAAA,IAAI,EAAEF,KAAxB;AAA+BK,UAAAA,QAAQ,EAAE;AAAzC;AACD;AACF;AApBwB,GAAP;AAAA,CAAb","sourcesContent":["import Circle from './component';\nimport { equalPoints } from '../../utils';\n\nexport const tool = () => ({\n type: 'circle',\n Component: Circle,\n hover: (point, mark) => {\n return { ...mark, edge: point };\n },\n addPoint: (point, mark) => {\n if (mark && equalPoints(mark.root, point)) {\n return mark;\n }\n\n if (!mark) {\n return {\n type: 'circle',\n root: point,\n building: true,\n };\n } else {\n return { ...mark, edge: point, building: false };\n }\n },\n});\n"],"file":"index.js"}
@@ -1,79 +0,0 @@
1
- "use strict";
2
-
3
- Object.defineProperty(exports, "__esModule", {
4
- value: true
5
- });
6
- exports.allTools = void 0;
7
- Object.defineProperty(exports, "circle", {
8
- enumerable: true,
9
- get: function get() {
10
- return _circle.tool;
11
- }
12
- });
13
- Object.defineProperty(exports, "line", {
14
- enumerable: true,
15
- get: function get() {
16
- return _line.tool;
17
- }
18
- });
19
- Object.defineProperty(exports, "parabola", {
20
- enumerable: true,
21
- get: function get() {
22
- return _index2.tool;
23
- }
24
- });
25
- Object.defineProperty(exports, "point", {
26
- enumerable: true,
27
- get: function get() {
28
- return _point.tool;
29
- }
30
- });
31
- Object.defineProperty(exports, "polygon", {
32
- enumerable: true,
33
- get: function get() {
34
- return _polygon.tool;
35
- }
36
- });
37
- Object.defineProperty(exports, "ray", {
38
- enumerable: true,
39
- get: function get() {
40
- return _ray.tool;
41
- }
42
- });
43
- Object.defineProperty(exports, "sine", {
44
- enumerable: true,
45
- get: function get() {
46
- return _index.tool;
47
- }
48
- });
49
- exports.toolsArr = void 0;
50
- Object.defineProperty(exports, "vector", {
51
- enumerable: true,
52
- get: function get() {
53
- return _vector.tool;
54
- }
55
- });
56
-
57
- var _point = require("./point");
58
-
59
- var _circle = require("./circle");
60
-
61
- var _polygon = require("./polygon");
62
-
63
- var _index = require("./sine/index");
64
-
65
- var _index2 = require("./parabola/index");
66
-
67
- var _line = require("./line");
68
-
69
- var _segment = require("./segment");
70
-
71
- var _ray = require("./ray");
72
-
73
- var _vector = require("./vector");
74
-
75
- var allTools = ['circle', 'line', 'label', 'parabola', 'point', 'polygon', 'ray', 'segment', 'sine', 'vector'];
76
- exports.allTools = allTools;
77
- var toolsArr = [(0, _circle.tool)(), (0, _line.tool)(), (0, _index2.tool)(), (0, _point.tool)(), (0, _polygon.tool)(), (0, _ray.tool)(), (0, _segment.tool)(), (0, _index.tool)(), (0, _vector.tool)()];
78
- exports.toolsArr = toolsArr;
79
- //# sourceMappingURL=index.js.map
@@ -1 +0,0 @@
1
- {"version":3,"sources":["../../src/tools/index.js"],"names":["allTools","toolsArr"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA;;AACA;;AACA;;AACA;;AACA;;AACA;;AACA;;AACA;;AACA;;AAEA,IAAMA,QAAQ,GAAG,CAAC,QAAD,EAAW,MAAX,EAAmB,OAAnB,EAA4B,UAA5B,EAAwC,OAAxC,EAAiD,SAAjD,EAA4D,KAA5D,EAAmE,SAAnE,EAA8E,MAA9E,EAAsF,QAAtF,CAAjB;;AAEA,IAAMC,QAAQ,GAAG,CAAC,mBAAD,EAAW,iBAAX,EAAmB,mBAAnB,EAA+B,kBAA/B,EAAwC,oBAAxC,EAAmD,gBAAnD,EAA0D,oBAA1D,EAAqE,kBAArE,EAA6E,mBAA7E,CAAjB","sourcesContent":["import { tool as point } from './point';\nimport { tool as circle } from './circle';\nimport { tool as polygon } from './polygon';\nimport { tool as sine } from './sine/index';\nimport { tool as parabola } from './parabola/index';\nimport { tool as line } from './line';\nimport { tool as segment } from './segment';\nimport { tool as ray } from './ray';\nimport { tool as vector } from './vector';\n\nconst allTools = ['circle', 'line', 'label', 'parabola', 'point', 'polygon', 'ray', 'segment', 'sine', 'vector'];\n\nconst toolsArr = [circle(), line(), parabola(), point(), polygon(), ray(), segment(), sine(), vector()];\n\nexport { allTools, toolsArr, circle, line, point, parabola, polygon, ray, sine, vector };\n"],"file":"index.js"}
@@ -1,102 +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.ArrowedLine = void 0;
9
-
10
- var _extends2 = _interopRequireDefault(require("@babel/runtime/helpers/extends"));
11
-
12
- var _slicedToArray2 = _interopRequireDefault(require("@babel/runtime/helpers/slicedToArray"));
13
-
14
- var _objectWithoutProperties2 = _interopRequireDefault(require("@babel/runtime/helpers/objectWithoutProperties"));
15
-
16
- var _line = require("../shared/line");
17
-
18
- var _react = _interopRequireDefault(require("react"));
19
-
20
- var _propTypes = _interopRequireDefault(require("prop-types"));
21
-
22
- var _plot = require("@pie-lib/plot");
23
-
24
- var _classnames = _interopRequireDefault(require("classnames"));
25
-
26
- var _styles = require("@material-ui/core/styles");
27
-
28
- var _arrowHead = require("../shared/arrow-head");
29
-
30
- var _utils = require("../../utils");
31
-
32
- var _excluded = ["className", "classes", "correctness", "disabled", "graphProps", "from", "to"];
33
-
34
- var lineStyles = function lineStyles(theme) {
35
- return {
36
- line: _line.styles.line(theme),
37
- enabledArrow: _line.styles.arrow(theme),
38
- disabledArrow: _line.styles.disabledArrow(theme),
39
- disabled: _line.styles.disabled(theme),
40
- correct: _line.styles.correct(theme, 'stroke'),
41
- correctArrow: _line.styles.correct(theme),
42
- incorrect: _line.styles.incorrect(theme, 'stroke'),
43
- incorrectArrow: _line.styles.incorrect(theme),
44
- missing: _line.styles.missing(theme, 'stroke'),
45
- missingArrow: _line.styles.missing(theme)
46
- };
47
- };
48
-
49
- var ArrowedLine = function ArrowedLine(props) {
50
- var markerId = (0, _arrowHead.genUid)();
51
- var className = props.className,
52
- classes = props.classes,
53
- correctness = props.correctness,
54
- disabled = props.disabled,
55
- graphProps = props.graphProps,
56
- from = props.from,
57
- to = props.to,
58
- rest = (0, _objectWithoutProperties2["default"])(props, _excluded);
59
- var scale = graphProps.scale;
60
-
61
- var _getAdjustedGraphLimi = (0, _utils.getAdjustedGraphLimits)(graphProps),
62
- domain = _getAdjustedGraphLimi.domain,
63
- range = _getAdjustedGraphLimi.range;
64
-
65
- var _trig$edges = _plot.trig.edges(domain, range)(from, to),
66
- _trig$edges2 = (0, _slicedToArray2["default"])(_trig$edges, 2),
67
- eFrom = _trig$edges2[0],
68
- eTo = _trig$edges2[1];
69
-
70
- var suffix = correctness || disabled && 'disabled' || 'enabled';
71
- return /*#__PURE__*/_react["default"].createElement("g", null, /*#__PURE__*/_react["default"].createElement("defs", null, /*#__PURE__*/_react["default"].createElement(_arrowHead.ArrowMarker, {
72
- size: (0, _utils.thinnerShapesNeeded)(graphProps) ? 4 : 5,
73
- id: "".concat(props.markerId || markerId, "-").concat(suffix),
74
- className: (0, _classnames["default"])(classes["".concat(suffix, "Arrow")])
75
- })), /*#__PURE__*/_react["default"].createElement("line", (0, _extends2["default"])({
76
- x1: scale.x(eFrom.x),
77
- y1: scale.y(eFrom.y),
78
- x2: scale.x(eTo.x),
79
- y2: scale.y(eTo.y),
80
- className: (0, _classnames["default"])(classes.line, disabled && classes.disabled, classes[correctness], className),
81
- markerEnd: "url(#".concat(props.markerId || markerId, "-").concat(suffix, ")"),
82
- markerStart: "url(#".concat(props.markerId || markerId, "-").concat(suffix, ")")
83
- }, rest)));
84
- };
85
-
86
- exports.ArrowedLine = ArrowedLine;
87
- ArrowedLine.propTypes = {
88
- className: _propTypes["default"].string,
89
- classes: _propTypes["default"].object,
90
- correctness: _propTypes["default"].string,
91
- disabled: _propTypes["default"].bool,
92
- graphProps: _plot.types.GraphPropsType,
93
- from: _plot.types.PointType,
94
- to: _plot.types.PointType,
95
- markerId: _propTypes["default"].string
96
- };
97
- var StyledArrowedLine = (0, _styles.withStyles)(lineStyles)(ArrowedLine);
98
- var Line = (0, _line.lineBase)(StyledArrowedLine);
99
- var Component = (0, _line.lineToolComponent)(Line);
100
- var _default = Component;
101
- exports["default"] = _default;
102
- //# sourceMappingURL=component.js.map