@pie-lib/graphing 2.34.3-next.2 → 2.34.4-next.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 (252) hide show
  1. package/CHANGELOG.md +6 -76
  2. package/lib/__tests__/graph-with-controls.test.js +226 -0
  3. package/lib/__tests__/graph.test.js +187 -0
  4. package/lib/__tests__/grid.test.js +29 -0
  5. package/lib/__tests__/labels.test.js +61 -0
  6. package/lib/__tests__/mark-label.test.js +133 -0
  7. package/lib/__tests__/toggle-bar.test.js +150 -0
  8. package/lib/__tests__/tool-menu.test.js +101 -0
  9. package/lib/__tests__/undo-redo.test.js +31 -0
  10. package/lib/__tests__/use-debounce.test.js +24 -0
  11. package/lib/__tests__/utils.js +70 -0
  12. package/lib/__tests__/utils.test.js +123 -0
  13. package/lib/axis/__tests__/arrow.test.js +60 -0
  14. package/lib/axis/__tests__/axes.test.js +195 -0
  15. package/lib/axis/arrow.js +20 -56
  16. package/lib/axis/arrow.js.map +1 -1
  17. package/lib/axis/axes.js +107 -195
  18. package/lib/axis/axes.js.map +1 -1
  19. package/lib/axis/index.js +2 -7
  20. package/lib/axis/index.js.map +1 -1
  21. package/lib/bg.js +22 -50
  22. package/lib/bg.js.map +1 -1
  23. package/lib/container/actions.js +3 -9
  24. package/lib/container/actions.js.map +1 -1
  25. package/lib/container/index.js +15 -60
  26. package/lib/container/index.js.map +1 -1
  27. package/lib/container/marks.js +2 -7
  28. package/lib/container/marks.js.map +1 -1
  29. package/lib/container/middleware.js +3 -9
  30. package/lib/container/middleware.js.map +1 -1
  31. package/lib/container/reducer.js +2 -9
  32. package/lib/container/reducer.js.map +1 -1
  33. package/lib/coordinates-label.js +25 -55
  34. package/lib/coordinates-label.js.map +1 -1
  35. package/lib/graph-with-controls.js +121 -185
  36. package/lib/graph-with-controls.js.map +1 -1
  37. package/lib/graph.js +60 -117
  38. package/lib/graph.js.map +1 -1
  39. package/lib/grid-setup.js +169 -225
  40. package/lib/grid-setup.js.map +1 -1
  41. package/lib/grid.js +30 -75
  42. package/lib/grid.js.map +1 -1
  43. package/lib/index.js +2 -14
  44. package/lib/index.js.map +1 -1
  45. package/lib/key-legend.js +41 -86
  46. package/lib/key-legend.js.map +1 -1
  47. package/lib/label-svg-icon.js +2 -8
  48. package/lib/label-svg-icon.js.map +1 -1
  49. package/lib/labels.js +66 -122
  50. package/lib/labels.js.map +1 -1
  51. package/lib/mark-label.js +121 -164
  52. package/lib/mark-label.js.map +1 -1
  53. package/lib/toggle-bar.js +156 -244
  54. package/lib/toggle-bar.js.map +1 -1
  55. package/lib/tool-menu.js +17 -51
  56. package/lib/tool-menu.js.map +1 -1
  57. package/lib/tools/absolute/__tests__/component.test.js +67 -0
  58. package/lib/tools/absolute/component.js +5 -11
  59. package/lib/tools/absolute/component.js.map +1 -1
  60. package/lib/tools/absolute/index.js +4 -17
  61. package/lib/tools/absolute/index.js.map +1 -1
  62. package/lib/tools/circle/__tests__/bg-circle.test.js +33 -0
  63. package/lib/tools/circle/__tests__/component.test.js +68 -0
  64. package/lib/tools/circle/bg-circle.js +43 -93
  65. package/lib/tools/circle/bg-circle.js.map +1 -1
  66. package/lib/tools/circle/component.js +79 -166
  67. package/lib/tools/circle/component.js.map +1 -1
  68. package/lib/tools/circle/index.js +4 -14
  69. package/lib/tools/circle/index.js.map +1 -1
  70. package/lib/tools/exponential/__tests__/component.test.js +66 -0
  71. package/lib/tools/exponential/component.js +5 -11
  72. package/lib/tools/exponential/component.js.map +1 -1
  73. package/lib/tools/exponential/index.js +4 -19
  74. package/lib/tools/exponential/index.js.map +1 -1
  75. package/lib/tools/index.js +4 -17
  76. package/lib/tools/index.js.map +1 -1
  77. package/lib/tools/line/__tests__/component.test.js +45 -0
  78. package/lib/tools/line/component.js +28 -49
  79. package/lib/tools/line/component.js.map +1 -1
  80. package/lib/tools/line/index.js +2 -7
  81. package/lib/tools/line/index.js.map +1 -1
  82. package/lib/tools/parabola/__tests__/component.test.js +66 -0
  83. package/lib/tools/parabola/component.js +5 -11
  84. package/lib/tools/parabola/component.js.map +1 -1
  85. package/lib/tools/parabola/index.js +4 -17
  86. package/lib/tools/parabola/index.js.map +1 -1
  87. package/lib/tools/point/__tests__/component.test.js +50 -0
  88. package/lib/tools/point/component.js +25 -72
  89. package/lib/tools/point/component.js.map +1 -1
  90. package/lib/tools/point/index.js +4 -12
  91. package/lib/tools/point/index.js.map +1 -1
  92. package/lib/tools/polygon/__tests__/component.test.js +85 -0
  93. package/lib/tools/polygon/__tests__/index.test.js +92 -0
  94. package/lib/tools/polygon/__tests__/line.test.js +29 -0
  95. package/lib/tools/polygon/__tests__/polygon.test.js +59 -0
  96. package/lib/tools/polygon/component.js +84 -185
  97. package/lib/tools/polygon/component.js.map +1 -1
  98. package/lib/tools/polygon/index.js +7 -24
  99. package/lib/tools/polygon/index.js.map +1 -1
  100. package/lib/tools/polygon/line.js +49 -92
  101. package/lib/tools/polygon/line.js.map +1 -1
  102. package/lib/tools/polygon/polygon.js +66 -99
  103. package/lib/tools/polygon/polygon.js.map +1 -1
  104. package/lib/tools/ray/__tests__/component.test.js +35 -0
  105. package/lib/tools/ray/component.js +42 -61
  106. package/lib/tools/ray/component.js.map +1 -1
  107. package/lib/tools/ray/index.js +2 -7
  108. package/lib/tools/ray/index.js.map +1 -1
  109. package/lib/tools/segment/__tests__/component.test.js +35 -0
  110. package/lib/tools/segment/component.js +26 -44
  111. package/lib/tools/segment/component.js.map +1 -1
  112. package/lib/tools/segment/index.js +2 -7
  113. package/lib/tools/segment/index.js.map +1 -1
  114. package/lib/tools/shared/__tests__/arrow-head.test.js +45 -0
  115. package/lib/tools/shared/arrow-head.js +70 -29
  116. package/lib/tools/shared/arrow-head.js.map +1 -1
  117. package/lib/tools/shared/icons/CorrectSVG.js +13 -9
  118. package/lib/tools/shared/icons/CorrectSVG.js.map +1 -1
  119. package/lib/tools/shared/icons/IncorrectSVG.js +13 -9
  120. package/lib/tools/shared/icons/IncorrectSVG.js.map +1 -1
  121. package/lib/tools/shared/icons/MissingSVG.js +13 -9
  122. package/lib/tools/shared/icons/MissingSVG.js.map +1 -1
  123. package/lib/tools/shared/line/__tests__/index.test.js +124 -0
  124. package/lib/tools/shared/line/__tests__/line-path.test.js +62 -0
  125. package/lib/tools/shared/line/__tests__/with-root-edge.test.js +91 -0
  126. package/lib/tools/shared/line/index.js +141 -194
  127. package/lib/tools/shared/line/index.js.map +1 -1
  128. package/lib/tools/shared/line/line-path.js +71 -102
  129. package/lib/tools/shared/line/line-path.js.map +1 -1
  130. package/lib/tools/shared/line/with-root-edge.js +23 -57
  131. package/lib/tools/shared/line/with-root-edge.js.map +1 -1
  132. package/lib/tools/shared/point/__tests__/arrow-point.test.js +127 -0
  133. package/lib/tools/shared/point/__tests__/base-point.test.js +122 -0
  134. package/lib/tools/shared/point/arrow-point.js +22 -63
  135. package/lib/tools/shared/point/arrow-point.js.map +1 -1
  136. package/lib/tools/shared/point/arrow.js +24 -53
  137. package/lib/tools/shared/point/arrow.js.map +1 -1
  138. package/lib/tools/shared/point/base-point.js +55 -73
  139. package/lib/tools/shared/point/base-point.js.map +1 -1
  140. package/lib/tools/shared/point/index.js +23 -58
  141. package/lib/tools/shared/point/index.js.map +1 -1
  142. package/lib/tools/shared/styles.js +11 -39
  143. package/lib/tools/shared/styles.js.map +1 -1
  144. package/lib/tools/shared/types.js +3 -10
  145. package/lib/tools/shared/types.js.map +1 -1
  146. package/lib/tools/sine/__tests__/component.test.js +72 -0
  147. package/lib/tools/sine/component.js +9 -20
  148. package/lib/tools/sine/component.js.map +1 -1
  149. package/lib/tools/sine/index.js +4 -17
  150. package/lib/tools/sine/index.js.map +1 -1
  151. package/lib/tools/vector/__tests__/component.test.js +32 -0
  152. package/lib/tools/vector/component.js +25 -45
  153. package/lib/tools/vector/component.js.map +1 -1
  154. package/lib/tools/vector/index.js +2 -7
  155. package/lib/tools/vector/index.js.map +1 -1
  156. package/lib/undo-redo.js +30 -70
  157. package/lib/undo-redo.js.map +1 -1
  158. package/lib/use-debounce.js +5 -12
  159. package/lib/use-debounce.js.map +1 -1
  160. package/lib/utils.js +52 -129
  161. package/lib/utils.js.map +1 -1
  162. package/package.json +25 -29
  163. package/src/__tests__/graph-with-controls.test.jsx +28 -11
  164. package/src/__tests__/graph.test.jsx +104 -168
  165. package/src/__tests__/grid.test.jsx +8 -6
  166. package/src/__tests__/labels.test.jsx +25 -8
  167. package/src/__tests__/mark-label.test.jsx +12 -17
  168. package/src/__tests__/toggle-bar.test.jsx +92 -17
  169. package/src/__tests__/tool-menu.test.jsx +61 -12
  170. package/src/__tests__/undo-redo.test.jsx +7 -8
  171. package/src/__tests__/utils.js +3 -0
  172. package/src/axis/__tests__/arrow.test.jsx +16 -17
  173. package/src/axis/__tests__/axes.test.jsx +118 -122
  174. package/src/axis/arrow.jsx +7 -12
  175. package/src/axis/axes.jsx +45 -55
  176. package/src/coordinates-label.jsx +14 -18
  177. package/src/graph-with-controls.jsx +52 -59
  178. package/src/grid-setup.jsx +210 -206
  179. package/src/grid.jsx +2 -4
  180. package/src/key-legend.jsx +52 -56
  181. package/src/labels.jsx +23 -30
  182. package/src/mark-label.jsx +92 -81
  183. package/src/toggle-bar.jsx +135 -164
  184. package/src/tool-menu.jsx +1 -1
  185. package/src/tools/circle/__tests__/bg-circle.test.jsx +7 -9
  186. package/src/tools/circle/__tests__/component.test.jsx +17 -189
  187. package/src/tools/circle/bg-circle.jsx +20 -28
  188. package/src/tools/circle/component.jsx +28 -63
  189. package/src/tools/line/__tests__/component.test.jsx +7 -7
  190. package/src/tools/line/component.jsx +22 -15
  191. package/src/tools/point/__tests__/component.test.jsx +18 -43
  192. package/src/tools/point/component.jsx +1 -1
  193. package/src/tools/polygon/__tests__/component.test.jsx +18 -162
  194. package/src/tools/polygon/__tests__/line.test.jsx +7 -10
  195. package/src/tools/polygon/__tests__/polygon.test.jsx +7 -8
  196. package/src/tools/polygon/component.jsx +3 -4
  197. package/src/tools/polygon/line.jsx +30 -33
  198. package/src/tools/polygon/polygon.jsx +52 -45
  199. package/src/tools/ray/__tests__/component.test.jsx +7 -8
  200. package/src/tools/ray/component.jsx +38 -25
  201. package/src/tools/segment/__tests__/component.test.jsx +7 -8
  202. package/src/tools/segment/component.jsx +19 -18
  203. package/src/tools/shared/__tests__/arrow-head.test.jsx +14 -17
  204. package/src/tools/shared/arrow-head.jsx +60 -7
  205. package/src/tools/shared/icons/CorrectSVG.jsx +10 -0
  206. package/src/tools/shared/icons/IncorrectSVG.jsx +10 -0
  207. package/src/tools/shared/icons/MissingSVG.jsx +10 -0
  208. package/src/tools/shared/line/__tests__/index.test.jsx +19 -165
  209. package/src/tools/shared/line/__tests__/line-path.test.jsx +8 -8
  210. package/src/tools/shared/line/__tests__/with-root-edge.test.jsx +22 -22
  211. package/src/tools/shared/line/index.jsx +52 -7
  212. package/src/tools/shared/line/line-path.jsx +55 -59
  213. package/src/tools/shared/line/with-root-edge.jsx +1 -1
  214. package/src/tools/shared/point/__tests__/arrow-point.test.jsx +15 -11
  215. package/src/tools/shared/point/__tests__/base-point.test.jsx +14 -11
  216. package/src/tools/shared/point/arrow-point.jsx +10 -24
  217. package/src/tools/shared/point/arrow.jsx +5 -11
  218. package/src/tools/shared/point/base-point.jsx +42 -19
  219. package/src/tools/shared/point/index.jsx +27 -44
  220. package/src/tools/vector/__tests__/component.test.jsx +7 -8
  221. package/src/tools/vector/component.jsx +11 -16
  222. package/src/undo-redo.jsx +19 -21
  223. package/esm/index.css +0 -847
  224. package/esm/index.js +0 -239949
  225. package/esm/index.js.map +0 -1
  226. package/esm/package.json +0 -3
  227. package/src/__tests__/__snapshots__/graph-with-controls.test.jsx.snap +0 -237
  228. package/src/__tests__/__snapshots__/graph.test.jsx.snap +0 -211
  229. package/src/__tests__/__snapshots__/grid.test.jsx.snap +0 -54
  230. package/src/__tests__/__snapshots__/labels.test.jsx.snap +0 -30
  231. package/src/__tests__/__snapshots__/mark-label.test.jsx.snap +0 -45
  232. package/src/__tests__/__snapshots__/toggle-bar.test.jsx.snap +0 -7
  233. package/src/__tests__/__snapshots__/tool-menu.test.jsx.snap +0 -13
  234. package/src/__tests__/__snapshots__/undo-redo.test.jsx.snap +0 -14
  235. package/src/axis/__tests__/__snapshots__/arrow.test.jsx.snap +0 -33
  236. package/src/axis/__tests__/__snapshots__/axes.test.jsx.snap +0 -122
  237. package/src/tools/circle/__tests__/__snapshots__/bg-circle.test.jsx.snap +0 -46
  238. package/src/tools/circle/__tests__/__snapshots__/component.test.jsx.snap +0 -293
  239. package/src/tools/line/__tests__/__snapshots__/component.test.jsx.snap +0 -20
  240. package/src/tools/point/__tests__/__snapshots__/component.test.jsx.snap +0 -40
  241. package/src/tools/polygon/__tests__/__snapshots__/component.test.jsx.snap +0 -415
  242. package/src/tools/polygon/__tests__/__snapshots__/line.test.jsx.snap +0 -45
  243. package/src/tools/polygon/__tests__/__snapshots__/polygon.test.jsx.snap +0 -52
  244. package/src/tools/ray/__tests__/__snapshots__/component.test.jsx.snap +0 -23
  245. package/src/tools/segment/__tests__/__snapshots__/component.test.jsx.snap +0 -14
  246. package/src/tools/shared/__tests__/__snapshots__/arrow-head.test.jsx.snap +0 -27
  247. package/src/tools/shared/line/__tests__/__snapshots__/index.test.jsx.snap +0 -360
  248. package/src/tools/shared/line/__tests__/__snapshots__/line-path.test.jsx.snap +0 -58
  249. package/src/tools/shared/line/__tests__/__snapshots__/with-root-edge.test.jsx.snap +0 -63
  250. package/src/tools/shared/point/__tests__/__snapshots__/arrow-point.test.jsx.snap +0 -56
  251. package/src/tools/shared/point/__tests__/__snapshots__/base-point.test.jsx.snap +0 -44
  252. package/src/tools/vector/__tests__/__snapshots__/component.test.jsx.snap +0 -12
@@ -1,64 +1,36 @@
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["default"] = exports.RawBaseCircle = exports.BaseCircle = 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 _propTypes = _interopRequireDefault(require("prop-types"));
29
-
30
- var _styles = require("@material-ui/core/styles");
31
-
17
+ var _classnames = _interopRequireDefault(require("classnames"));
32
18
  var _point = require("../shared/point");
33
-
34
19
  var _bgCircle = _interopRequireDefault(require("./bg-circle"));
35
-
36
20
  var _utils = require("../../utils");
37
-
38
- var _classnames = _interopRequireDefault(require("classnames"));
39
-
40
21
  var _plot = require("@pie-lib/plot");
41
-
42
22
  var _withRootEdge = require("../shared/line/with-root-edge");
43
-
44
23
  var _reactDom = _interopRequireDefault(require("react-dom"));
45
-
46
24
  var _markLabel = _interopRequireDefault(require("../../mark-label"));
47
-
48
25
  var _isEmpty = _interopRequireDefault(require("lodash/isEmpty"));
49
-
50
26
  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
-
27
+ var _styles = require("@mui/material/styles");
28
+ 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; }
29
+ 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; }
30
+ 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)); }
31
+ function _isNativeReflectConstruct() { try { var t = !Boolean.prototype.valueOf.call(Reflect.construct(Boolean, [], function () {})); } catch (t) {} return (_isNativeReflectConstruct = function _isNativeReflectConstruct() { return !!t; })(); }
60
32
  var opacityPulsate = function opacityPulsate(opacity) {
61
- return {
33
+ return (0, _styles.keyframes)({
62
34
  '0%': {
63
35
  opacity: '0.0'
64
36
  },
@@ -68,53 +40,38 @@ var opacityPulsate = function opacityPulsate(opacity) {
68
40
  '100%': {
69
41
  opacity: '0.0'
70
42
  }
71
- };
43
+ });
72
44
  };
73
-
74
45
  var getRadius = function getRadius(from, outer) {
75
46
  var c = (0, _utils.point)(from);
76
47
  return c.dist((0, _utils.point)(outer));
77
48
  };
78
-
79
- var RawBaseCircle = /*#__PURE__*/function (_React$Component) {
80
- (0, _inherits2["default"])(RawBaseCircle, _React$Component);
81
-
82
- var _super = _createSuper(RawBaseCircle);
83
-
49
+ var RawBaseCircle = exports.RawBaseCircle = /*#__PURE__*/function (_React$Component) {
84
50
  function RawBaseCircle() {
85
51
  var _this;
86
-
87
52
  (0, _classCallCheck2["default"])(this, RawBaseCircle);
88
-
89
53
  for (var _len = arguments.length, args = new Array(_len), _key = 0; _key < _len; _key++) {
90
54
  args[_key] = arguments[_key];
91
55
  }
92
-
93
- _this = _super.call.apply(_super, [this].concat(args));
94
- (0, _defineProperty2["default"])((0, _assertThisInitialized2["default"])(_this), "onChangePoint", function (point) {
56
+ _this = _callSuper(this, RawBaseCircle, [].concat(args));
57
+ (0, _defineProperty2["default"])(_this, "onChangePoint", function (point) {
95
58
  var _this$props = _this.props,
96
- middle = _this$props.middle,
97
- onChange = _this$props.onChange;
59
+ middle = _this$props.middle,
60
+ onChange = _this$props.onChange;
98
61
  var from = point.from,
99
- to = point.to; // because point.from.label and point.to.label can be different
100
-
62
+ to = point.to;
101
63
  if (!(0, _utils.equalPoints)(from, to)) {
102
64
  if (middle) {
103
65
  point.middle = _objectSpread(_objectSpread({}, middle), (0, _utils.getMiddleOfTwoPoints)(from, to));
104
66
  }
105
-
106
67
  onChange(point);
107
68
  }
108
69
  });
109
- (0, _defineProperty2["default"])((0, _assertThisInitialized2["default"])(_this), "dragFrom", function (draggedFrom) {
70
+ (0, _defineProperty2["default"])(_this, "dragFrom", function (draggedFrom) {
110
71
  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
-
72
+ from = _this$props2.from,
73
+ to = _this$props2.to;
74
+ if (from.label) draggedFrom.label = from.label;
118
75
  if (!(0, _utils.equalPoints)(draggedFrom, to)) {
119
76
  _this.onChangePoint({
120
77
  from: draggedFrom,
@@ -122,15 +79,11 @@ var RawBaseCircle = /*#__PURE__*/function (_React$Component) {
122
79
  });
123
80
  }
124
81
  });
125
- (0, _defineProperty2["default"])((0, _assertThisInitialized2["default"])(_this), "dragTo", function (draggedTo) {
82
+ (0, _defineProperty2["default"])(_this, "dragTo", function (draggedTo) {
126
83
  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
-
84
+ from = _this$props3.from,
85
+ to = _this$props3.to;
86
+ if (to.label) draggedTo.label = to.label;
134
87
  if (!(0, _utils.equalPoints)(from, draggedTo)) {
135
88
  _this.onChangePoint({
136
89
  from: from,
@@ -138,114 +91,86 @@ var RawBaseCircle = /*#__PURE__*/function (_React$Component) {
138
91
  });
139
92
  }
140
93
  });
141
- (0, _defineProperty2["default"])((0, _assertThisInitialized2["default"])(_this), "dragCircle", function (draggedFrom) {
94
+ (0, _defineProperty2["default"])(_this, "dragCircle", function (draggedFrom) {
142
95
  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;
96
+ from = _this$props4.from,
97
+ to = _this$props4.to,
98
+ onChange = _this$props4.onChange,
99
+ middle = _this$props4.middle;
147
100
  var diff = (0, _utils.point)(from).sub((0, _utils.point)(draggedFrom));
148
101
  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
-
102
+ if (from.label) draggedFrom.label = from.label;
103
+ if (to.label) draggedTo.label = to.label;
158
104
  var updated = {
159
105
  from: draggedFrom,
160
106
  to: draggedTo
161
107
  };
162
-
163
108
  if (middle) {
164
109
  updated.middle = _objectSpread(_objectSpread({}, middle), (0, _utils.getMiddleOfTwoPoints)(draggedFrom, draggedTo));
165
110
  }
166
-
167
111
  _this.setState({
168
112
  draggedroot: undefined,
169
113
  draggedOuter: undefined,
170
114
  isCircleDrag: false
171
115
  }, function () {
172
- onChange(updated);
116
+ return onChange(updated);
173
117
  });
174
118
  });
175
- (0, _defineProperty2["default"])((0, _assertThisInitialized2["default"])(_this), "labelChange", function (point, type) {
119
+ (0, _defineProperty2["default"])(_this, "labelChange", function (point, type) {
176
120
  var changeMarkProps = _this.props.changeMarkProps;
177
-
178
121
  var update = _objectSpread({}, point);
179
-
180
- if (!point.label || (0, _isEmpty["default"])(point.label)) {
181
- delete update.label;
182
- }
183
-
122
+ if (!point.label || (0, _isEmpty["default"])(point.label)) delete update.label;
184
123
  changeMarkProps((0, _defineProperty2["default"])({}, type, update));
185
124
  });
186
- (0, _defineProperty2["default"])((0, _assertThisInitialized2["default"])(_this), "clickPoint", function (point, type, data) {
125
+ (0, _defineProperty2["default"])(_this, "clickPoint", function (point, type, data) {
187
126
  var _this$props5 = _this.props,
188
- changeMarkProps = _this$props5.changeMarkProps,
189
- disabled = _this$props5.disabled,
190
- from = _this$props5.from,
191
- to = _this$props5.to,
192
- labelModeEnabled = _this$props5.labelModeEnabled,
193
- limitLabeling = _this$props5.limitLabeling,
194
- onClick = _this$props5.onClick;
195
-
127
+ changeMarkProps = _this$props5.changeMarkProps,
128
+ disabled = _this$props5.disabled,
129
+ from = _this$props5.from,
130
+ to = _this$props5.to,
131
+ labelModeEnabled = _this$props5.labelModeEnabled,
132
+ limitLabeling = _this$props5.limitLabeling,
133
+ onClick = _this$props5.onClick;
196
134
  if (!labelModeEnabled) {
197
135
  onClick(point || data);
198
136
  return;
199
137
  }
200
-
201
- if (disabled) {
202
- return;
203
- } // limit labeling the points of the circle
204
-
205
-
206
- if (limitLabeling) {
207
- return;
208
- }
209
-
138
+ if (disabled || limitLabeling) return;
210
139
  if (type === 'middle' && !point && from && to) {
211
140
  point = _objectSpread(_objectSpread({}, point), (0, _utils.getMiddleOfTwoPoints)(from, to));
212
141
  }
213
-
214
142
  changeMarkProps((0, _defineProperty2["default"])({
215
143
  from: from,
216
144
  to: to
217
145
  }, type, _objectSpread({
218
146
  label: ''
219
147
  }, point)));
220
-
221
148
  if (_this.input[type]) {
222
149
  _this.input[type].focus();
223
150
  }
224
151
  });
225
- (0, _defineProperty2["default"])((0, _assertThisInitialized2["default"])(_this), "input", {});
152
+ (0, _defineProperty2["default"])(_this, "input", {});
226
153
  return _this;
227
154
  }
228
-
229
- (0, _createClass2["default"])(RawBaseCircle, [{
155
+ (0, _inherits2["default"])(RawBaseCircle, _React$Component);
156
+ return (0, _createClass2["default"])(RawBaseCircle, [{
230
157
  key: "render",
231
158
  value: function render() {
232
159
  var _this2 = this;
233
-
234
160
  var _this$props6 = this.props,
235
- from = _this$props6.from,
236
- to = _this$props6.to,
237
- middle = _this$props6.middle,
238
- disabled = _this$props6.disabled,
239
- classes = _this$props6.classes,
240
- coordinatesOnHover = _this$props6.coordinatesOnHover,
241
- building = _this$props6.building,
242
- onDragStart = _this$props6.onDragStart,
243
- onDragStop = _this$props6.onDragStop,
244
- onClick = _this$props6.onClick,
245
- correctness = _this$props6.correctness,
246
- graphProps = _this$props6.graphProps,
247
- labelNode = _this$props6.labelNode,
248
- labelModeEnabled = _this$props6.labelModeEnabled;
161
+ from = _this$props6.from,
162
+ to = _this$props6.to,
163
+ middle = _this$props6.middle,
164
+ disabled = _this$props6.disabled,
165
+ building = _this$props6.building,
166
+ coordinatesOnHover = _this$props6.coordinatesOnHover,
167
+ onDragStart = _this$props6.onDragStart,
168
+ onDragStop = _this$props6.onDragStop,
169
+ onClick = _this$props6.onClick,
170
+ correctness = _this$props6.correctness,
171
+ graphProps = _this$props6.graphProps,
172
+ labelNode = _this$props6.labelNode,
173
+ labelModeEnabled = _this$props6.labelModeEnabled;
249
174
  var common = {
250
175
  onDragStart: onDragStart,
251
176
  onDragStop: onDragStop,
@@ -257,10 +182,10 @@ var RawBaseCircle = /*#__PURE__*/function (_React$Component) {
257
182
  var fromLabelNode = null;
258
183
  var toLabelNode = null;
259
184
  var circleLabelNode = null;
260
-
261
185
  if (labelNode) {
262
- if (from && from.hasOwnProperty('label')) {
263
- fromLabelNode = /*#__PURE__*/_reactDom["default"].createPortal( /*#__PURE__*/_react["default"].createElement(_markLabel["default"], {
186
+ var _to;
187
+ if ((from === null || from === void 0 ? void 0 : from.label) !== undefined) {
188
+ fromLabelNode = /*#__PURE__*/_reactDom["default"].createPortal(/*#__PURE__*/_react["default"].createElement(_markLabel["default"], {
264
189
  inputRef: function inputRef(r) {
265
190
  return _this2.input.from = r;
266
191
  },
@@ -274,9 +199,8 @@ var RawBaseCircle = /*#__PURE__*/function (_React$Component) {
274
199
  }
275
200
  }), labelNode);
276
201
  }
277
-
278
- if (to && to.hasOwnProperty('label')) {
279
- toLabelNode = /*#__PURE__*/_reactDom["default"].createPortal( /*#__PURE__*/_react["default"].createElement(_markLabel["default"], {
202
+ if (((_to = to) === null || _to === void 0 ? void 0 : _to.label) !== undefined) {
203
+ toLabelNode = /*#__PURE__*/_reactDom["default"].createPortal(/*#__PURE__*/_react["default"].createElement(_markLabel["default"], {
280
204
  inputRef: function inputRef(r) {
281
205
  return _this2.input.to = r;
282
206
  },
@@ -290,9 +214,8 @@ var RawBaseCircle = /*#__PURE__*/function (_React$Component) {
290
214
  }
291
215
  }), labelNode);
292
216
  }
293
-
294
- if (middle && middle.hasOwnProperty('label')) {
295
- circleLabelNode = /*#__PURE__*/_reactDom["default"].createPortal( /*#__PURE__*/_react["default"].createElement(_markLabel["default"], {
217
+ if ((middle === null || middle === void 0 ? void 0 : middle.label) !== undefined) {
218
+ circleLabelNode = /*#__PURE__*/_reactDom["default"].createPortal(/*#__PURE__*/_react["default"].createElement(_markLabel["default"], {
296
219
  inputRef: function inputRef(r) {
297
220
  return _this2.input.middle = r;
298
221
  },
@@ -307,11 +230,10 @@ var RawBaseCircle = /*#__PURE__*/function (_React$Component) {
307
230
  }), labelNode);
308
231
  }
309
232
  }
310
-
311
- return /*#__PURE__*/_react["default"].createElement("g", null, /*#__PURE__*/_react["default"].createElement(_bgCircle["default"], (0, _extends2["default"])({
233
+ return /*#__PURE__*/_react["default"].createElement("g", null, /*#__PURE__*/_react["default"].createElement(StyledBgCircle, (0, _extends2["default"])({
312
234
  disabled: building || disabled,
313
235
  correctness: correctness,
314
- className: (0, _classnames["default"])(building && classes.bgCircleBuilding),
236
+ className: (0, _classnames["default"])(building && 'bgCircleBuilding'),
315
237
  x: from.x,
316
238
  y: from.y,
317
239
  radius: radius,
@@ -339,7 +261,7 @@ var RawBaseCircle = /*#__PURE__*/function (_React$Component) {
339
261
  labelNode: labelNode,
340
262
  x: from.x,
341
263
  y: from.y,
342
- className: classes.from,
264
+ className: "from",
343
265
  onDrag: this.dragFrom
344
266
  }, common, {
345
267
  onClick: function onClick(data) {
@@ -348,13 +270,9 @@ var RawBaseCircle = /*#__PURE__*/function (_React$Component) {
348
270
  })), fromLabelNode);
349
271
  }
350
272
  }]);
351
- return RawBaseCircle;
352
- }(_react["default"].Component);
353
-
354
- exports.RawBaseCircle = RawBaseCircle;
273
+ }(_react["default"].Component); // MUI v5 styled() replaces withStyles
355
274
  (0, _defineProperty2["default"])(RawBaseCircle, "propTypes", {
356
275
  building: _propTypes["default"].bool,
357
- classes: _propTypes["default"].object.isRequired,
358
276
  className: _propTypes["default"].string,
359
277
  coordinatesOnHover: _propTypes["default"].bool,
360
278
  correctness: _propTypes["default"].string,
@@ -377,11 +295,10 @@ exports.RawBaseCircle = RawBaseCircle;
377
295
  return {};
378
296
  }
379
297
  });
380
- var BaseCircle = (0, _styles.withStyles)(function () {
298
+ var StyledBgCircle = (0, _styles.styled)(_bgCircle["default"])(function () {
381
299
  return {
382
- outerLine: {
383
- fill: 'rgb(0,0,0,0)',
384
- // TODO hardcoded color
300
+ '&.outerLine': {
301
+ fill: 'rgba(0,0,0,0)',
385
302
  stroke: _renderUi.color.defaults.BLACK,
386
303
  strokeWidth: 4,
387
304
  '&:hover': {
@@ -389,18 +306,14 @@ var BaseCircle = (0, _styles.withStyles)(function () {
389
306
  stroke: _renderUi.color.defaults.PRIMARY_DARK
390
307
  }
391
308
  },
392
- root: {},
393
- bgCircleBuilding: {
309
+ '&.bgCircleBuilding': {
394
310
  stroke: _renderUi.color.defaults.BLACK,
395
- animation: 'opacityPulse 2s ease-out',
396
- animationIterationCount: 'infinite',
311
+ animation: "".concat(opacityPulsate('0.3'), " 2s ease-out infinite"),
397
312
  opacity: 1
398
- },
399
- '@keyframes opacityPulse': opacityPulsate('0.3')
313
+ }
400
314
  };
401
- })(RawBaseCircle);
402
- exports.BaseCircle = BaseCircle;
315
+ });
316
+ var BaseCircle = exports.BaseCircle = RawBaseCircle;
403
317
  var Component = (0, _withRootEdge.rootEdgeComponent)(BaseCircle);
404
- var _default = Component;
405
- exports["default"] = _default;
406
- //# sourceMappingURL=component.js.map
318
+ var _default = exports["default"] = Component;
319
+ //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJuYW1lcyI6WyJfcmVhY3QiLCJfaW50ZXJvcFJlcXVpcmVEZWZhdWx0IiwicmVxdWlyZSIsIl9wcm9wVHlwZXMiLCJfY2xhc3NuYW1lcyIsIl9wb2ludCIsIl9iZ0NpcmNsZSIsIl91dGlscyIsIl9wbG90IiwiX3dpdGhSb290RWRnZSIsIl9yZWFjdERvbSIsIl9tYXJrTGFiZWwiLCJfaXNFbXB0eSIsIl9yZW5kZXJVaSIsIl9zdHlsZXMiLCJvd25LZXlzIiwiZSIsInIiLCJ0IiwiT2JqZWN0Iiwia2V5cyIsImdldE93blByb3BlcnR5U3ltYm9scyIsIm8iLCJmaWx0ZXIiLCJnZXRPd25Qcm9wZXJ0eURlc2NyaXB0b3IiLCJlbnVtZXJhYmxlIiwicHVzaCIsImFwcGx5IiwiX29iamVjdFNwcmVhZCIsImFyZ3VtZW50cyIsImxlbmd0aCIsImZvckVhY2giLCJfZGVmaW5lUHJvcGVydHkyIiwiZ2V0T3duUHJvcGVydHlEZXNjcmlwdG9ycyIsImRlZmluZVByb3BlcnRpZXMiLCJkZWZpbmVQcm9wZXJ0eSIsIl9jYWxsU3VwZXIiLCJfZ2V0UHJvdG90eXBlT2YyIiwiX3Bvc3NpYmxlQ29uc3RydWN0b3JSZXR1cm4yIiwiX2lzTmF0aXZlUmVmbGVjdENvbnN0cnVjdCIsIlJlZmxlY3QiLCJjb25zdHJ1Y3QiLCJjb25zdHJ1Y3RvciIsIkJvb2xlYW4iLCJwcm90b3R5cGUiLCJ2YWx1ZU9mIiwiY2FsbCIsIm9wYWNpdHlQdWxzYXRlIiwib3BhY2l0eSIsImtleWZyYW1lcyIsImdldFJhZGl1cyIsImZyb20iLCJvdXRlciIsImMiLCJwb2ludCIsImRpc3QiLCJSYXdCYXNlQ2lyY2xlIiwiZXhwb3J0cyIsIl9SZWFjdCRDb21wb25lbnQiLCJfdGhpcyIsIl9jbGFzc0NhbGxDaGVjazIiLCJfbGVuIiwiYXJncyIsIkFycmF5IiwiX2tleSIsImNvbmNhdCIsIl90aGlzJHByb3BzIiwicHJvcHMiLCJtaWRkbGUiLCJvbkNoYW5nZSIsInRvIiwiZXF1YWxQb2ludHMiLCJnZXRNaWRkbGVPZlR3b1BvaW50cyIsImRyYWdnZWRGcm9tIiwiX3RoaXMkcHJvcHMyIiwibGFiZWwiLCJvbkNoYW5nZVBvaW50IiwiZHJhZ2dlZFRvIiwiX3RoaXMkcHJvcHMzIiwiX3RoaXMkcHJvcHM0IiwiZGlmZiIsInN1YiIsInVwZGF0ZWQiLCJzZXRTdGF0ZSIsImRyYWdnZWRyb290IiwidW5kZWZpbmVkIiwiZHJhZ2dlZE91dGVyIiwiaXNDaXJjbGVEcmFnIiwidHlwZSIsImNoYW5nZU1hcmtQcm9wcyIsInVwZGF0ZSIsImlzRW1wdHkiLCJkYXRhIiwiX3RoaXMkcHJvcHM1IiwiZGlzYWJsZWQiLCJsYWJlbE1vZGVFbmFibGVkIiwibGltaXRMYWJlbGluZyIsIm9uQ2xpY2siLCJpbnB1dCIsImZvY3VzIiwiX2luaGVyaXRzMiIsIl9jcmVhdGVDbGFzczIiLCJrZXkiLCJ2YWx1ZSIsInJlbmRlciIsIl90aGlzMiIsIl90aGlzJHByb3BzNiIsImJ1aWxkaW5nIiwiY29vcmRpbmF0ZXNPbkhvdmVyIiwib25EcmFnU3RhcnQiLCJvbkRyYWdTdG9wIiwiY29ycmVjdG5lc3MiLCJncmFwaFByb3BzIiwibGFiZWxOb2RlIiwiY29tbW9uIiwicmFkaXVzIiwiZnJvbUxhYmVsTm9kZSIsInRvTGFiZWxOb2RlIiwiY2lyY2xlTGFiZWxOb2RlIiwiX3RvIiwiUmVhY3RET00iLCJjcmVhdGVQb3J0YWwiLCJjcmVhdGVFbGVtZW50IiwiaW5wdXRSZWYiLCJtYXJrIiwibGFiZWxDaGFuZ2UiLCJTdHlsZWRCZ0NpcmNsZSIsIl9leHRlbmRzMiIsImNsYXNzTmFtZSIsImNsYXNzTmFtZXMiLCJ4IiwieSIsIm9uRHJhZyIsImRyYWdDaXJjbGUiLCJjbGlja1BvaW50IiwiQmFzZVBvaW50IiwiZHJhZ1RvIiwiZHJhZ0Zyb20iLCJSZWFjdCIsIkNvbXBvbmVudCIsIlByb3BUeXBlcyIsImJvb2wiLCJzdHJpbmciLCJ0eXBlcyIsIlBvaW50VHlwZSIsImZ1bmMiLCJpc1JlcXVpcmVkIiwiR3JhcGhQcm9wc1R5cGUiLCJvYmplY3QiLCJzdHlsZWQiLCJCZ0NpcmNsZSIsImZpbGwiLCJzdHJva2UiLCJjb2xvciIsImRlZmF1bHRzIiwiQkxBQ0siLCJzdHJva2VXaWR0aCIsIlBSSU1BUllfREFSSyIsImFuaW1hdGlvbiIsIkJhc2VDaXJjbGUiLCJyb290RWRnZUNvbXBvbmVudCIsIl9kZWZhdWx0Il0sInNvdXJjZXMiOlsiLi4vLi4vLi4vc3JjL3Rvb2xzL2NpcmNsZS9jb21wb25lbnQuanN4Il0sInNvdXJjZXNDb250ZW50IjpbImltcG9ydCBSZWFjdCBmcm9tICdyZWFjdCc7XG5pbXBvcnQgUHJvcFR5cGVzIGZyb20gJ3Byb3AtdHlwZXMnO1xuaW1wb3J0IGNsYXNzTmFtZXMgZnJvbSAnY2xhc3NuYW1lcyc7XG5pbXBvcnQgeyBCYXNlUG9pbnQgfSBmcm9tICcuLi9zaGFyZWQvcG9pbnQnO1xuaW1wb3J0IEJnQ2lyY2xlIGZyb20gJy4vYmctY2lyY2xlJztcbmltcG9ydCB7IGdldE1pZGRsZU9mVHdvUG9pbnRzLCBwb2ludCwgZXF1YWxQb2ludHMgfSBmcm9tICcuLi8uLi91dGlscyc7XG5pbXBvcnQgeyB0eXBlcyB9IGZyb20gJ0BwaWUtbGliL3Bsb3QnO1xuaW1wb3J0IHsgcm9vdEVkZ2VDb21wb25lbnQgfSBmcm9tICcuLi9zaGFyZWQvbGluZS93aXRoLXJvb3QtZWRnZSc7XG5pbXBvcnQgUmVhY3RET00gZnJvbSAncmVhY3QtZG9tJztcbmltcG9ydCBNYXJrTGFiZWwgZnJvbSAnLi4vLi4vbWFyay1sYWJlbCc7XG5pbXBvcnQgaXNFbXB0eSBmcm9tICdsb2Rhc2gvaXNFbXB0eSc7XG5pbXBvcnQgeyBjb2xvciB9IGZyb20gJ0BwaWUtbGliL3JlbmRlci11aSc7XG5pbXBvcnQgeyBzdHlsZWQsIGtleWZyYW1lcyB9IGZyb20gJ0BtdWkvbWF0ZXJpYWwvc3R5bGVzJztcblxuY29uc3Qgb3BhY2l0eVB1bHNhdGUgPSAob3BhY2l0eSkgPT4ga2V5ZnJhbWVzKHtcbiAgJzAlJzogeyBvcGFjaXR5OiAnMC4wJyB9LFxuICAnNTAlJzogeyBvcGFjaXR5IH0sXG4gICcxMDAlJzogeyBvcGFjaXR5OiAnMC4wJyB9LFxufSk7XG5cbmNvbnN0IGdldFJhZGl1cyA9IChmcm9tLCBvdXRlcikgPT4ge1xuICBjb25zdCBjID0gcG9pbnQoZnJvbSk7XG4gIHJldHVybiBjLmRpc3QocG9pbnQob3V0ZXIpKTtcbn07XG5cbmV4cG9ydCBjbGFzcyBSYXdCYXNlQ2lyY2xlIGV4dGVuZHMgUmVhY3QuQ29tcG9uZW50IHtcbiAgc3RhdGljIHByb3BUeXBlcyA9IHtcbiAgICBidWlsZGluZzogUHJvcFR5cGVzLmJvb2wsXG4gICAgY2xhc3NOYW1lOiBQcm9wVHlwZXMuc3RyaW5nLFxuICAgIGNvb3JkaW5hdGVzT25Ib3ZlcjogUHJvcFR5cGVzLmJvb2wsXG4gICAgY29ycmVjdG5lc3M6IFByb3BUeXBlcy5zdHJpbmcsXG4gICAgZnJvbTogdHlwZXMuUG9pbnRUeXBlLFxuICAgIGRpc2FibGVkOiBQcm9wVHlwZXMuYm9vbCxcbiAgICB0bzogdHlwZXMuUG9pbnRUeXBlLFxuICAgIG1pZGRsZTogdHlwZXMuUG9pbnRUeXBlLFxuICAgIG9uQ2hhbmdlOiBQcm9wVHlwZXMuZnVuYy5pc1JlcXVpcmVkLFxuICAgIG9uRHJhZ1N0YXJ0OiBQcm9wVHlwZXMuZnVuYyxcbiAgICBvbkRyYWdTdG9wOiBQcm9wVHlwZXMuZnVuYyxcbiAgICBncmFwaFByb3BzOiB0eXBlcy5HcmFwaFByb3BzVHlwZS5pc1JlcXVpcmVkLFxuICAgIG9uQ2xpY2s6IFByb3BUeXBlcy5mdW5jLFxuICAgIGxhYmVsTm9kZTogUHJvcFR5cGVzLm9iamVjdCxcbiAgICBsYWJlbE1vZGVFbmFibGVkOiBQcm9wVHlwZXMuYm9vbCxcbiAgICBjaGFuZ2VNYXJrUHJvcHM6IFByb3BUeXBlcy5mdW5jLFxuICAgIGxpbWl0TGFiZWxpbmc6IFByb3BUeXBlcy5ib29sLFxuICB9O1xuXG4gIHN0YXRpYyBkZWZhdWx0UHJvcHMgPSB7XG4gICAgb25DbGljazogKCkgPT4gKHt9KSxcbiAgfTtcblxuICBvbkNoYW5nZVBvaW50ID0gKHBvaW50KSA9PiB7XG4gICAgY29uc3QgeyBtaWRkbGUsIG9uQ2hhbmdlIH0gPSB0aGlzLnByb3BzO1xuICAgIGNvbnN0IHsgZnJvbSwgdG8gfSA9IHBvaW50O1xuXG4gICAgaWYgKCFlcXVhbFBvaW50cyhmcm9tLCB0bykpIHtcbiAgICAgIGlmIChtaWRkbGUpIHtcbiAgICAgICAgcG9pbnQubWlkZGxlID0geyAuLi5taWRkbGUsIC4uLmdldE1pZGRsZU9mVHdvUG9pbnRzKGZyb20sIHRvKSB9O1xuICAgICAgfVxuICAgICAgb25DaGFuZ2UocG9pbnQpO1xuICAgIH1cbiAgfTtcblxuICBkcmFnRnJvbSA9IChkcmFnZ2VkRnJvbSkgPT4ge1xuICAgIGNvbnN0IHsgZnJvbSwgdG8gfSA9IHRoaXMucHJvcHM7XG5cbiAgICBpZiAoZnJvbS5sYWJlbCkgZHJhZ2dlZEZyb20ubGFiZWwgPSBmcm9tLmxhYmVsO1xuICAgIGlmICghZXF1YWxQb2ludHMoZHJhZ2dlZEZyb20sIHRvKSkge1xuICAgICAgdGhpcy5vbkNoYW5nZVBvaW50KHsgZnJvbTogZHJhZ2dlZEZyb20sIHRvIH0pO1xuICAgIH1cbiAgfTtcblxuICBkcmFnVG8gPSAoZHJhZ2dlZFRvKSA9PiB7XG4gICAgY29uc3QgeyBmcm9tLCB0byB9ID0gdGhpcy5wcm9wcztcblxuICAgIGlmICh0by5sYWJlbCkgZHJhZ2dlZFRvLmxhYmVsID0gdG8ubGFiZWw7XG4gICAgaWYgKCFlcXVhbFBvaW50cyhmcm9tLCBkcmFnZ2VkVG8pKSB7XG4gICAgICB0aGlzLm9uQ2hhbmdlUG9pbnQoeyBmcm9tLCB0bzogZHJhZ2dlZFRvIH0pO1xuICAgIH1cbiAgfTtcblxuICBkcmFnQ2lyY2xlID0gKGRyYWdnZWRGcm9tKSA9PiB7XG4gICAgY29uc3QgeyBmcm9tLCB0bywgb25DaGFuZ2UsIG1pZGRsZSB9ID0gdGhpcy5wcm9wcztcbiAgICBjb25zdCBkaWZmID0gcG9pbnQoZnJvbSkuc3ViKHBvaW50KGRyYWdnZWRGcm9tKSk7XG4gICAgY29uc3QgZHJhZ2dlZFRvID0gcG9pbnQodG8pLnN1YihkaWZmKTtcblxuICAgIGlmIChmcm9tLmxhYmVsKSBkcmFnZ2VkRnJvbS5sYWJlbCA9IGZyb20ubGFiZWw7XG4gICAgaWYgKHRvLmxhYmVsKSBkcmFnZ2VkVG8ubGFiZWwgPSB0by5sYWJlbDtcblxuICAgIGNvbnN0IHVwZGF0ZWQgPSB7IGZyb206IGRyYWdnZWRGcm9tLCB0bzogZHJhZ2dlZFRvIH07XG4gICAgaWYgKG1pZGRsZSkge1xuICAgICAgdXBkYXRlZC5taWRkbGUgPSB7IC4uLm1pZGRsZSwgLi4uZ2V0TWlkZGxlT2ZUd29Qb2ludHMoZHJhZ2dlZEZyb20sIGRyYWdnZWRUbykgfTtcbiAgICB9XG5cbiAgICB0aGlzLnNldFN0YXRlKFxuICAgICAgeyBkcmFnZ2Vkcm9vdDogdW5kZWZpbmVkLCBkcmFnZ2VkT3V0ZXI6IHVuZGVmaW5lZCwgaXNDaXJjbGVEcmFnOiBmYWxzZSB9LFxuICAgICAgKCkgPT4gb25DaGFuZ2UodXBkYXRlZCksXG4gICAgKTtcbiAgfTtcblxuICBsYWJlbENoYW5nZSA9IChwb2ludCwgdHlwZSkgPT4ge1xuICAgIGNvbnN0IHsgY2hhbmdlTWFya1Byb3BzIH0gPSB0aGlzLnByb3BzO1xuICAgIGNvbnN0IHVwZGF0ZSA9IHsgLi4ucG9pbnQgfTtcbiAgICBpZiAoIXBvaW50LmxhYmVsIHx8IGlzRW1wdHkocG9pbnQubGFiZWwpKSBkZWxldGUgdXBkYXRlLmxhYmVsO1xuICAgIGNoYW5nZU1hcmtQcm9wcyh7IFt0eXBlXTogdXBkYXRlIH0pO1xuICB9O1xuXG4gIGNsaWNrUG9pbnQgPSAocG9pbnQsIHR5cGUsIGRhdGEpID0+IHtcbiAgICBjb25zdCB7IGNoYW5nZU1hcmtQcm9wcywgZGlzYWJsZWQsIGZyb20sIHRvLCBsYWJlbE1vZGVFbmFibGVkLCBsaW1pdExhYmVsaW5nLCBvbkNsaWNrIH0gPSB0aGlzLnByb3BzO1xuXG4gICAgaWYgKCFsYWJlbE1vZGVFbmFibGVkKSB7XG4gICAgICBvbkNsaWNrKHBvaW50IHx8IGRhdGEpO1xuICAgICAgcmV0dXJuO1xuICAgIH1cblxuICAgIGlmIChkaXNhYmxlZCB8fCBsaW1pdExhYmVsaW5nKSByZXR1cm47XG5cbiAgICBpZiAodHlwZSA9PT0gJ21pZGRsZScgJiYgIXBvaW50ICYmIGZyb20gJiYgdG8pIHtcbiAgICAgIHBvaW50ID0geyAuLi5wb2ludCwgLi4uZ2V0TWlkZGxlT2ZUd29Qb2ludHMoZnJvbSwgdG8pIH07XG4gICAgfVxuXG4gICAgY2hhbmdlTWFya1Byb3BzKHsgZnJvbSwgdG8sIFt0eXBlXTogeyBsYWJlbDogJycsIC4uLnBvaW50IH0gfSk7XG5cbiAgICBpZiAodGhpcy5pbnB1dFt0eXBlXSkge1xuICAgICAgdGhpcy5pbnB1dFt0eXBlXS5mb2N1cygpO1xuICAgIH1cbiAgfTtcblxuICBpbnB1dCA9IHt9O1xuXG4gIHJlbmRlcigpIHtcbiAgICBsZXQge1xuICAgICAgZnJvbSxcbiAgICAgIHRvLFxuICAgICAgbWlkZGxlLFxuICAgICAgZGlzYWJsZWQsXG4gICAgICBidWlsZGluZyxcbiAgICAgIGNvb3JkaW5hdGVzT25Ib3ZlcixcbiAgICAgIG9uRHJhZ1N0YXJ0LFxuICAgICAgb25EcmFnU3RvcCxcbiAgICAgIG9uQ2xpY2ssXG4gICAgICBjb3JyZWN0bmVzcyxcbiAgICAgIGdyYXBoUHJvcHMsXG4gICAgICBsYWJlbE5vZGUsXG4gICAgICBsYWJlbE1vZGVFbmFibGVkLFxuICAgIH0gPSB0aGlzLnByb3BzO1xuXG4gICAgY29uc3QgY29tbW9uID0geyBvbkRyYWdTdGFydCwgb25EcmFnU3RvcCwgZ3JhcGhQcm9wcywgb25DbGljayB9O1xuICAgIHRvID0gdG8gfHwgZnJvbTtcbiAgICBjb25zdCByYWRpdXMgPSBnZXRSYWRpdXMoZnJvbSwgdG8pO1xuXG4gICAgbGV0IGZyb21MYWJlbE5vZGUgPSBudWxsO1xuICAgIGxldCB0b0xhYmVsTm9kZSA9IG51bGw7XG4gICAgbGV0IGNpcmNsZUxhYmVsTm9kZSA9IG51bGw7XG5cbiAgICBpZiAobGFiZWxOb2RlKSB7XG4gICAgICBpZiAoZnJvbT8ubGFiZWwgIT09IHVuZGVmaW5lZCkge1xuICAgICAgICBmcm9tTGFiZWxOb2RlID0gUmVhY3RET00uY3JlYXRlUG9ydGFsKFxuICAgICAgICAgIDxNYXJrTGFiZWxcbiAgICAgICAgICAgIGlucHV0UmVmPXsocikgPT4gKHRoaXMuaW5wdXQuZnJvbSA9IHIpfVxuICAgICAgICAgICAgZGlzYWJsZWQ9eyFsYWJlbE1vZGVFbmFibGVkfVxuICAgICAgICAgICAgbWFyaz17ZnJvbX1cbiAgICAgICAgICAgIGdyYXBoUHJvcHM9e2dyYXBoUHJvcHN9XG4gICAgICAgICAgICBvbkNoYW5nZT17KGxhYmVsKSA9PiB0aGlzLmxhYmVsQ2hhbmdlKHsgLi4uZnJvbSwgbGFiZWwgfSwgJ2Zyb20nKX1cbiAgICAgICAgICAvPixcbiAgICAgICAgICBsYWJlbE5vZGUsXG4gICAgICAgICk7XG4gICAgICB9XG5cbiAgICAgIGlmICh0bz8ubGFiZWwgIT09IHVuZGVmaW5lZCkge1xuICAgICAgICB0b0xhYmVsTm9kZSA9IFJlYWN0RE9NLmNyZWF0ZVBvcnRhbChcbiAgICAgICAgICA8TWFya0xhYmVsXG4gICAgICAgICAgICBpbnB1dFJlZj17KHIpID0+ICh0aGlzLmlucHV0LnRvID0gcil9XG4gICAgICAgICAgICBkaXNhYmxlZD17IWxhYmVsTW9kZUVuYWJsZWR9XG4gICAgICAgICAgICBtYXJrPXt0b31cbiAgICAgICAgICAgIGdyYXBoUHJvcHM9e2dyYXBoUHJvcHN9XG4gICAgICAgICAgICBvbkNoYW5nZT17KGxhYmVsKSA9PiB0aGlzLmxhYmVsQ2hhbmdlKHsgLi4udG8sIGxhYmVsIH0sICd0bycpfVxuICAgICAgICAgIC8+LFxuICAgICAgICAgIGxhYmVsTm9kZSxcbiAgICAgICAgKTtcbiAgICAgIH1cblxuICAgICAgaWYgKG1pZGRsZT8ubGFiZWwgIT09IHVuZGVmaW5lZCkge1xuICAgICAgICBjaXJjbGVMYWJlbE5vZGUgPSBSZWFjdERPTS5jcmVhdGVQb3J0YWwoXG4gICAgICAgICAgPE1hcmtMYWJlbFxuICAgICAgICAgICAgaW5wdXRSZWY9eyhyKSA9PiAodGhpcy5pbnB1dC5taWRkbGUgPSByKX1cbiAgICAgICAgICAgIGRpc2FibGVkPXshbGFiZWxNb2RlRW5hYmxlZH1cbiAgICAgICAgICAgIG1hcms9e21pZGRsZX1cbiAgICAgICAgICAgIGdyYXBoUHJvcHM9e2dyYXBoUHJvcHN9XG4gICAgICAgICAgICBvbkNoYW5nZT17KGxhYmVsKSA9PiB0aGlzLmxhYmVsQ2hhbmdlKHsgLi4ubWlkZGxlLCBsYWJlbCB9LCAnbWlkZGxlJyl9XG4gICAgICAgICAgLz4sXG4gICAgICAgICAgbGFiZWxOb2RlLFxuICAgICAgICApO1xuICAgICAgfVxuICAgIH1cblxuICAgIHJldHVybiAoXG4gICAgICA8Zz5cbiAgICAgICAgPFN0eWxlZEJnQ2lyY2xlXG4gICAgICAgICAgZGlzYWJsZWQ9e2J1aWxkaW5nIHx8IGRpc2FibGVkfVxuICAgICAgICAgIGNvcnJlY3RuZXNzPXtjb3JyZWN0bmVzc31cbiAgICAgICAgICBjbGFzc05hbWU9e2NsYXNzTmFtZXMoYnVpbGRpbmcgJiYgJ2JnQ2lyY2xlQnVpbGRpbmcnKX1cbiAgICAgICAgICB4PXtmcm9tLnh9XG4gICAgICAgICAgeT17ZnJvbS55fVxuICAgICAgICAgIHJhZGl1cz17cmFkaXVzfVxuICAgICAgICAgIG9uRHJhZz17dGhpcy5kcmFnQ2lyY2xlfVxuICAgICAgICAgIHsuLi5jb21tb259XG4gICAgICAgICAgb25DbGljaz17KGRhdGEpID0+IHRoaXMuY2xpY2tQb2ludChtaWRkbGUsICdtaWRkbGUnLCBkYXRhKX1cbiAgICAgICAgLz5cbiAgICAgICAge2NpcmNsZUxhYmVsTm9kZX1cblxuICAgICAgICA8QmFzZVBvaW50XG4gICAgICAgICAgZGlzYWJsZWQ9e2J1aWxkaW5nIHx8IGRpc2FibGVkfVxuICAgICAgICAgIGNvb3JkaW5hdGVzT25Ib3Zlcj17Y29vcmRpbmF0ZXNPbkhvdmVyfVxuICAgICAgICAgIGNvcnJlY3RuZXNzPXtjb3JyZWN0bmVzc31cbiAgICAgICAgICBsYWJlbE5vZGU9e2xhYmVsTm9kZX1cbiAgICAgICAgICB4PXt0by54fVxuICAgICAgICAgIHk9e3RvLnl9XG4gICAgICAgICAgb25EcmFnPXt0aGlzLmRyYWdUb31cbiAgICAgICAgICB7Li4uY29tbW9ufVxuICAgICAgICAgIG9uQ2xpY2s9eyhkYXRhKSA9PiB0aGlzLmNsaWNrUG9pbnQodG8sICd0bycsIGRhdGEpfVxuICAgICAgICAvPlxuICAgICAgICB7dG9MYWJlbE5vZGV9XG5cbiAgICAgICAgPEJhc2VQb2ludFxuICAgICAgICAgIGRpc2FibGVkPXtidWlsZGluZyB8fCBkaXNhYmxlZH1cbiAgICAgICAgICBjb29yZGluYXRlc09uSG92ZXI9e2Nvb3JkaW5hdGVzT25Ib3Zlcn1cbiAgICAgICAgICBjb3JyZWN0bmVzcz17Y29ycmVjdG5lc3N9XG4gICAgICAgICAgbGFiZWxOb2RlPXtsYWJlbE5vZGV9XG4gICAgICAgICAgeD17ZnJvbS54fVxuICAgICAgICAgIHk9e2Zyb20ueX1cbiAgICAgICAgICBjbGFzc05hbWU9XCJmcm9tXCJcbiAgICAgICAgICBvbkRyYWc9e3RoaXMuZHJhZ0Zyb219XG4gICAgICAgICAgey4uLmNvbW1vbn1cbiAgICAgICAgICBvbkNsaWNrPXsoZGF0YSkgPT4gdGhpcy5jbGlja1BvaW50KGZyb20sICdmcm9tJywgZGF0YSl9XG4gICAgICAgIC8+XG4gICAgICAgIHtmcm9tTGFiZWxOb2RlfVxuICAgICAgPC9nPlxuICAgICk7XG4gIH1cbn1cblxuLy8gTVVJIHY1IHN0eWxlZCgpIHJlcGxhY2VzIHdpdGhTdHlsZXNcbmNvbnN0IFN0eWxlZEJnQ2lyY2xlID0gc3R5bGVkKEJnQ2lyY2xlKSgoKSA9PiAoe1xuICAnJi5vdXRlckxpbmUnOiB7XG4gICAgZmlsbDogJ3JnYmEoMCwwLDAsMCknLFxuICAgIHN0cm9rZTogY29sb3IuZGVmYXVsdHMuQkxBQ0ssXG4gICAgc3Ryb2tlV2lkdGg6IDQsXG4gICAgJyY6aG92ZXInOiB7XG4gICAgICBzdHJva2VXaWR0aDogNixcbiAgICAgIHN0cm9rZTogY29sb3IuZGVmYXVsdHMuUFJJTUFSWV9EQVJLLFxuICAgIH0sXG4gIH0sXG4gICcmLmJnQ2lyY2xlQnVpbGRpbmcnOiB7XG4gICAgc3Ryb2tlOiBjb2xvci5kZWZhdWx0cy5CTEFDSyxcbiAgICBhbmltYXRpb246IGAke29wYWNpdHlQdWxzYXRlKCcwLjMnKX0gMnMgZWFzZS1vdXQgaW5maW5pdGVgLFxuICAgIG9wYWNpdHk6IDEsXG4gIH0sXG59KSk7XG5cbmV4cG9ydCBjb25zdCBCYXNlQ2lyY2xlID0gUmF3QmFzZUNpcmNsZTtcbmNvbnN0IENvbXBvbmVudCA9IHJvb3RFZGdlQ29tcG9uZW50KEJhc2VDaXJjbGUpO1xuZXhwb3J0IGRlZmF1bHQgQ29tcG9uZW50O1xuIl0sIm1hcHBpbmdzIjoiOzs7Ozs7Ozs7Ozs7OztBQUFBLElBQUFBLE1BQUEsR0FBQUMsc0JBQUEsQ0FBQUMsT0FBQTtBQUNBLElBQUFDLFVBQUEsR0FBQUYsc0JBQUEsQ0FBQUMsT0FBQTtBQUNBLElBQUFFLFdBQUEsR0FBQUgsc0JBQUEsQ0FBQUMsT0FBQTtBQUNBLElBQUFHLE1BQUEsR0FBQUgsT0FBQTtBQUNBLElBQUFJLFNBQUEsR0FBQUwsc0JBQUEsQ0FBQUMsT0FBQTtBQUNBLElBQUFLLE1BQUEsR0FBQUwsT0FBQTtBQUNBLElBQUFNLEtBQUEsR0FBQU4sT0FBQTtBQUNBLElBQUFPLGFBQUEsR0FBQVAsT0FBQTtBQUNBLElBQUFRLFNBQUEsR0FBQVQsc0JBQUEsQ0FBQUMsT0FBQTtBQUNBLElBQUFTLFVBQUEsR0FBQVYsc0JBQUEsQ0FBQUMsT0FBQTtBQUNBLElBQUFVLFFBQUEsR0FBQVgsc0JBQUEsQ0FBQUMsT0FBQTtBQUNBLElBQUFXLFNBQUEsR0FBQVgsT0FBQTtBQUNBLElBQUFZLE9BQUEsR0FBQVosT0FBQTtBQUF5RCxTQUFBYSxRQUFBQyxDQUFBLEVBQUFDLENBQUEsUUFBQUMsQ0FBQSxHQUFBQyxNQUFBLENBQUFDLElBQUEsQ0FB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
@@ -1 +1 @@
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","data","disabled","labelModeEnabled","limitLabeling","onClick","input","focus","classes","coordinatesOnHover","building","onDragStart","onDragStop","correctness","graphProps","labelNode","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","defaults","BLACK","strokeWidth","PRIMARY_DARK","root","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 limitLabeling: PropTypes.bool,\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, data) => {\n const { changeMarkProps, disabled, from, to, labelModeEnabled, limitLabeling, onClick } = this.props;\n if (!labelModeEnabled) {\n onClick(point || data);\n return;\n }\n\n if (disabled) {\n return;\n }\n\n // limit labeling the points of the circle\n if (limitLabeling) {\n return;\n }\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={(data) => this.clickPoint(middle, 'middle', data)}\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={(data) => this.clickPoint(to, 'to', data)}\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={(data) => this.clickPoint(from, 'from', data)}\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.defaults.BLACK,\n strokeWidth: 4,\n '&:hover': {\n strokeWidth: 6,\n stroke: color.defaults.PRIMARY_DARK,\n },\n },\n root: {},\n bgCircleBuilding: {\n stroke: color.defaults.BLACK,\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
+ {"version":3,"file":"component.js","names":["_react","_interopRequireDefault","require","_propTypes","_classnames","_point","_bgCircle","_utils","_plot","_withRootEdge","_reactDom","_markLabel","_isEmpty","_renderUi","_styles","ownKeys","e","r","t","Object","keys","getOwnPropertySymbols","o","filter","getOwnPropertyDescriptor","enumerable","push","apply","_objectSpread","arguments","length","forEach","_defineProperty2","getOwnPropertyDescriptors","defineProperties","defineProperty","_callSuper","_getPrototypeOf2","_possibleConstructorReturn2","_isNativeReflectConstruct","Reflect","construct","constructor","Boolean","prototype","valueOf","call","opacityPulsate","opacity","keyframes","getRadius","from","outer","c","point","dist","RawBaseCircle","exports","_React$Component","_this","_classCallCheck2","_len","args","Array","_key","concat","_this$props","props","middle","onChange","to","equalPoints","getMiddleOfTwoPoints","draggedFrom","_this$props2","label","onChangePoint","draggedTo","_this$props3","_this$props4","diff","sub","updated","setState","draggedroot","undefined","draggedOuter","isCircleDrag","type","changeMarkProps","update","isEmpty","data","_this$props5","disabled","labelModeEnabled","limitLabeling","onClick","input","focus","_inherits2","_createClass2","key","value","render","_this2","_this$props6","building","coordinatesOnHover","onDragStart","onDragStop","correctness","graphProps","labelNode","common","radius","fromLabelNode","toLabelNode","circleLabelNode","_to","ReactDOM","createPortal","createElement","inputRef","mark","labelChange","StyledBgCircle","_extends2","className","classNames","x","y","onDrag","dragCircle","clickPoint","BasePoint","dragTo","dragFrom","React","Component","PropTypes","bool","string","types","PointType","func","isRequired","GraphPropsType","object","styled","BgCircle","fill","stroke","color","defaults","BLACK","strokeWidth","PRIMARY_DARK","animation","BaseCircle","rootEdgeComponent","_default"],"sources":["../../../src/tools/circle/component.jsx"],"sourcesContent":["import React from 'react';\nimport PropTypes from 'prop-types';\nimport classNames from 'classnames';\nimport { BasePoint } from '../shared/point';\nimport BgCircle from './bg-circle';\nimport { getMiddleOfTwoPoints, point, equalPoints } from '../../utils';\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';\nimport { styled, keyframes } from '@mui/material/styles';\n\nconst opacityPulsate = (opacity) => keyframes({\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 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 limitLabeling: PropTypes.bool,\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 if (!equalPoints(from, to)) {\n if (middle) {\n point.middle = { ...middle, ...getMiddleOfTwoPoints(from, to) };\n }\n onChange(point);\n }\n };\n\n dragFrom = (draggedFrom) => {\n const { from, to } = this.props;\n\n if (from.label) draggedFrom.label = from.label;\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) draggedTo.label = to.label;\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) draggedFrom.label = from.label;\n if (to.label) draggedTo.label = to.label;\n\n const updated = { from: draggedFrom, to: draggedTo };\n if (middle) {\n updated.middle = { ...middle, ...getMiddleOfTwoPoints(draggedFrom, draggedTo) };\n }\n\n this.setState(\n { draggedroot: undefined, draggedOuter: undefined, isCircleDrag: false },\n () => onChange(updated),\n );\n };\n\n labelChange = (point, type) => {\n const { changeMarkProps } = this.props;\n const update = { ...point };\n if (!point.label || isEmpty(point.label)) delete update.label;\n changeMarkProps({ [type]: update });\n };\n\n clickPoint = (point, type, data) => {\n const { changeMarkProps, disabled, from, to, labelModeEnabled, limitLabeling, onClick } = this.props;\n\n if (!labelModeEnabled) {\n onClick(point || data);\n return;\n }\n\n if (disabled || limitLabeling) return;\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 input = {};\n\n render() {\n let {\n from,\n to,\n middle,\n disabled,\n building,\n coordinatesOnHover,\n onDragStart,\n onDragStop,\n onClick,\n correctness,\n graphProps,\n labelNode,\n labelModeEnabled,\n } = this.props;\n\n const common = { onDragStart, onDragStop, graphProps, onClick };\n to = to || from;\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?.label !== undefined) {\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?.label !== undefined) {\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?.label !== undefined) {\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 <StyledBgCircle\n disabled={building || disabled}\n correctness={correctness}\n className={classNames(building && 'bgCircleBuilding')}\n x={from.x}\n y={from.y}\n radius={radius}\n onDrag={this.dragCircle}\n {...common}\n onClick={(data) => this.clickPoint(middle, 'middle', data)}\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={(data) => this.clickPoint(to, 'to', data)}\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=\"from\"\n onDrag={this.dragFrom}\n {...common}\n onClick={(data) => this.clickPoint(from, 'from', data)}\n />\n {fromLabelNode}\n </g>\n );\n }\n}\n\n// MUI v5 styled() replaces withStyles\nconst StyledBgCircle = styled(BgCircle)(() => ({\n '&.outerLine': {\n fill: 'rgba(0,0,0,0)',\n stroke: color.defaults.BLACK,\n strokeWidth: 4,\n '&:hover': {\n strokeWidth: 6,\n stroke: color.defaults.PRIMARY_DARK,\n },\n },\n '&.bgCircleBuilding': {\n stroke: color.defaults.BLACK,\n animation: `${opacityPulsate('0.3')} 2s ease-out infinite`,\n opacity: 1,\n },\n}));\n\nexport const BaseCircle = RawBaseCircle;\nconst Component = rootEdgeComponent(BaseCircle);\nexport default Component;\n"],"mappings":"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","ignoreList":[]}
@@ -1,23 +1,16 @@
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.tool = void 0;
9
-
10
8
  var _defineProperty2 = _interopRequireDefault(require("@babel/runtime/helpers/defineProperty"));
11
-
12
9
  var _component = _interopRequireDefault(require("./component"));
13
-
14
10
  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() {
11
+ 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; }
12
+ 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; }
13
+ var tool = exports.tool = function tool() {
21
14
  return {
22
15
  type: 'circle',
23
16
  Component: _component["default"],
@@ -30,7 +23,6 @@ var tool = function tool() {
30
23
  if (mark && (0, _utils.equalPoints)(mark.root, point)) {
31
24
  return mark;
32
25
  }
33
-
34
26
  if (!mark) {
35
27
  return {
36
28
  type: 'circle',
@@ -46,6 +38,4 @@ var tool = function tool() {
46
38
  }
47
39
  };
48
40
  };
49
-
50
- exports.tool = tool;
51
- //# sourceMappingURL=index.js.map
41
+ //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJuYW1lcyI6WyJfY29tcG9uZW50IiwiX2ludGVyb3BSZXF1aXJlRGVmYXVsdCIsInJlcXVpcmUiLCJfdXRpbHMiLCJvd25LZXlzIiwiZSIsInIiLCJ0IiwiT2JqZWN0Iiwia2V5cyIsImdldE93blByb3BlcnR5U3ltYm9scyIsIm8iLCJmaWx0ZXIiLCJnZXRPd25Qcm9wZXJ0eURlc2NyaXB0b3IiLCJlbnVtZXJhYmxlIiwicHVzaCIsImFwcGx5IiwiX29iamVjdFNwcmVhZCIsImFyZ3VtZW50cyIsImxlbmd0aCIsImZvckVhY2giLCJfZGVmaW5lUHJvcGVydHkyIiwiZ2V0T3duUHJvcGVydHlEZXNjcmlwdG9ycyIsImRlZmluZVByb3BlcnRpZXMiLCJkZWZpbmVQcm9wZXJ0eSIsInRvb2wiLCJleHBvcnRzIiwidHlwZSIsIkNvbXBvbmVudCIsIkNpcmNsZSIsImhvdmVyIiwicG9pbnQiLCJtYXJrIiwiZWRnZSIsImFkZFBvaW50IiwiZXF1YWxQb2ludHMiLCJyb290IiwiYnVpbGRpbmciXSwic291cmNlcyI6WyIuLi8uLi8uLi9zcmMvdG9vbHMvY2lyY2xlL2luZGV4LmpzIl0sInNvdXJjZXNDb250ZW50IjpbImltcG9ydCBDaXJjbGUgZnJvbSAnLi9jb21wb25lbnQnO1xuaW1wb3J0IHsgZXF1YWxQb2ludHMgfSBmcm9tICcuLi8uLi91dGlscyc7XG5cbmV4cG9ydCBjb25zdCB0b29sID0gKCkgPT4gKHtcbiAgdHlwZTogJ2NpcmNsZScsXG4gIENvbXBvbmVudDogQ2lyY2xlLFxuICBob3ZlcjogKHBvaW50LCBtYXJrKSA9PiB7XG4gICAgcmV0dXJuIHsgLi4ubWFyaywgZWRnZTogcG9pbnQgfTtcbiAgfSxcbiAgYWRkUG9pbnQ6IChwb2ludCwgbWFyaykgPT4ge1xuICAgIGlmIChtYXJrICYmIGVxdWFsUG9pbnRzKG1hcmsucm9vdCwgcG9pbnQpKSB7XG4gICAgICByZXR1cm4gbWFyaztcbiAgICB9XG5cbiAgICBpZiAoIW1hcmspIHtcbiAgICAgIHJldHVybiB7XG4gICAgICAgIHR5cGU6ICdjaXJjbGUnLFxuICAgICAgICByb290OiBwb2ludCxcbiAgICAgICAgYnVpbGRpbmc6IHRydWUsXG4gICAgICB9O1xuICAgIH0gZWxzZSB7XG4gICAgICByZXR1cm4geyAuLi5tYXJrLCBlZGdlOiBwb2ludCwgYnVpbGRpbmc6IGZhbHNlIH07XG4gICAgfVxuICB9LFxufSk7XG4iXSwibWFwcGluZ3MiOiI7Ozs7Ozs7O0FBQUEsSUFBQUEsVUFBQSxHQUFBQyxzQkFBQSxDQUFBQyxPQUFBO0FBQ0EsSUFBQUMsTUFBQSxHQUFBRCxPQUFBO0FBQTBDLFNBQUFFLFFBQUFDLENBQUEsRUFBQUMsQ0FBQSxRQUFBQyxDQUFBLEdBQUFDLE1BQUEsQ0FBQUMsSUFBQSxDQUFBSixDQUFBLE9BQUFHLE1BQUEsQ0FBQUUscUJBQUEsUUFBQUMsQ0FBQSxHQUFBSCxNQUFBLENBQUFFLHFCQUFBLENBQUFMLENBQUEsR0FBQUMsQ0FBQSxLQUFBSyxDQUFBLEdBQUFBLENBQUEsQ0FBQUMsTUFBQSxXQUFBTixDQUFBLFdBQUFFLE1BQUEsQ0FBQUssd0JBQUEsQ0FBQVIsQ0FBQSxFQUFBQyxDQUFBLEVBQUFRLFVBQUEsT0FBQVAsQ0FBQSxDQUFBUSxJQUFBLENBQUFDLEtBQUEsQ0FBQVQsQ0FBQSxFQUFBSSxDQUFBLFlBQUFKLENBQUE7QUFBQSxTQUFBVSxjQUFBWixDQUFBLGFBQUFDLENBQUEsTUFBQUEsQ0FBQSxHQUFBWSxTQUFBLENBQUFDLE1BQUEsRUFBQWIsQ0FBQSxVQUFBQyxDQUFBLFdBQUFXLFNBQUEsQ0FBQVosQ0FBQSxJQUFBWSxTQUFBLENBQUFaLENBQUEsUUFBQUEsQ0FBQSxPQUFBRixPQUFBLENBQUFJLE1BQUEsQ0FBQUQsQ0FBQSxPQUFBYSxPQUFBLFdBQUFkLENBQUEsUUFBQWUsZ0JBQUEsYUFBQWhCLENBQUEsRUFBQUMsQ0FBQSxFQUFBQyxDQUFBLENBQUFELENBQUEsU0FBQUUsTUFBQSxDQUFBYyx5QkFBQSxHQUFBZCxNQUFBLENBQUFlLGdCQUFBLENBQUFsQixDQUFBLEVBQUFHLE1BQUEsQ0FBQWMseUJBQUEsQ0FBQWYsQ0FBQSxLQUFBSCxPQUFBLENBQUFJLE1BQUEsQ0FBQUQsQ0FBQSxHQUFBYSxPQUFBLFdBQUFkLENBQUEsSUFBQUUsTUFBQSxDQUFBZ0IsY0FBQSxDQUFBbkIsQ0FBQSxFQUFBQyxDQUFBLEVBQUFFLE1BQUEsQ0FBQUssd0JBQUEsQ0FBQU4sQ0FBQSxFQUFBRCxDQUFBLGlCQUFBRCxDQUFBO0FBRW5DLElBQU1vQixJQUFJLEdBQUFDLE9BQUEsQ0FBQUQsSUFBQSxHQUFHLFNBQVBBLElBQUlBLENBQUE7RUFBQSxPQUFVO0lBQ3pCRSxJQUFJLEVBQUUsUUFBUTtJQUNkQyxTQUFTLEVBQUVDLHFCQUFNO0lBQ2pCQyxLQUFLLEVBQUUsU0FBUEEsS0FBS0EsQ0FBR0MsS0FBSyxFQUFFQyxJQUFJLEVBQUs7TUFDdEIsT0FBQWYsYUFBQSxDQUFBQSxhQUFBLEtBQVllLElBQUk7UUFBRUMsSUFBSSxFQUFFRjtNQUFLO0lBQy9CLENBQUM7SUFDREcsUUFBUSxFQUFFLFNBQVZBLFFBQVFBLENBQUdILEtBQUssRUFBRUMsSUFBSSxFQUFLO01BQ3pCLElBQUlBLElBQUksSUFBSSxJQUFBRyxrQkFBVyxFQUFDSCxJQUFJLENBQUNJLElBQUksRUFBRUwsS0FBSyxDQUFDLEVBQUU7UUFDekMsT0FBT0MsSUFBSTtNQUNiO01BRUEsSUFBSSxDQUFDQSxJQUFJLEVBQUU7UUFDVCxPQUFPO1VBQ0xMLElBQUksRUFBRSxRQUFRO1VBQ2RTLElBQUksRUFBRUwsS0FBSztVQUNYTSxRQUFRLEVBQUU7UUFDWixDQUFDO01BQ0gsQ0FBQyxNQUFNO1FBQ0wsT0FBQXBCLGFBQUEsQ0FBQUEsYUFBQSxLQUFZZSxJQUFJO1VBQUVDLElBQUksRUFBRUYsS0FBSztVQUFFTSxRQUFRLEVBQUU7UUFBSztNQUNoRDtJQUNGO0VBQ0YsQ0FBQztBQUFBLENBQUMiLCJpZ25vcmVMaXN0IjpbXX0=