@pie-lib/graphing 2.4.7 → 2.4.10

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 (93) hide show
  1. package/CHANGELOG.md +30 -0
  2. package/lib/axis/arrow.js +22 -18
  3. package/lib/axis/arrow.js.map +1 -1
  4. package/lib/axis/axes.js +74 -78
  5. package/lib/axis/axes.js.map +1 -1
  6. package/lib/axis/index.js +5 -1
  7. package/lib/axis/index.js.map +1 -1
  8. package/lib/bg.js +16 -14
  9. package/lib/bg.js.map +1 -1
  10. package/lib/container/index.js +21 -15
  11. package/lib/container/index.js.map +1 -1
  12. package/lib/coordinates-label.js +4 -4
  13. package/lib/coordinates-label.js.map +1 -1
  14. package/lib/graph-with-controls.js +29 -25
  15. package/lib/graph-with-controls.js.map +1 -1
  16. package/lib/graph.js +58 -45
  17. package/lib/graph.js.map +1 -1
  18. package/lib/grid.js +20 -14
  19. package/lib/grid.js.map +1 -1
  20. package/lib/index.js +5 -1
  21. package/lib/index.js.map +1 -1
  22. package/lib/labels.js +28 -24
  23. package/lib/labels.js.map +1 -1
  24. package/lib/mark-label.js +16 -8
  25. package/lib/mark-label.js.map +1 -1
  26. package/lib/toggle-bar.js +18 -16
  27. package/lib/toggle-bar.js.map +1 -1
  28. package/lib/tool-menu.js +22 -16
  29. package/lib/tool-menu.js.map +1 -1
  30. package/lib/tools/circle/bg-circle.js +26 -18
  31. package/lib/tools/circle/bg-circle.js.map +1 -1
  32. package/lib/tools/circle/component.js +30 -28
  33. package/lib/tools/circle/component.js.map +1 -1
  34. package/lib/tools/circle/index.js +4 -4
  35. package/lib/tools/circle/index.js.map +1 -1
  36. package/lib/tools/index.js +16 -15
  37. package/lib/tools/index.js.map +1 -1
  38. package/lib/tools/line/component.js +17 -7
  39. package/lib/tools/line/component.js.map +1 -1
  40. package/lib/tools/parabola/component.js.map +1 -1
  41. package/lib/tools/parabola/index.js +4 -4
  42. package/lib/tools/parabola/index.js.map +1 -1
  43. package/lib/tools/point/component.js +21 -17
  44. package/lib/tools/point/component.js.map +1 -1
  45. package/lib/tools/point/index.js +2 -2
  46. package/lib/tools/polygon/component.js +55 -47
  47. package/lib/tools/polygon/component.js.map +1 -1
  48. package/lib/tools/polygon/index.js +12 -8
  49. package/lib/tools/polygon/index.js.map +1 -1
  50. package/lib/tools/polygon/line.js +26 -18
  51. package/lib/tools/polygon/line.js.map +1 -1
  52. package/lib/tools/polygon/polygon.js +26 -18
  53. package/lib/tools/polygon/polygon.js.map +1 -1
  54. package/lib/tools/ray/component.js +17 -7
  55. package/lib/tools/ray/component.js.map +1 -1
  56. package/lib/tools/segment/component.js +4 -2
  57. package/lib/tools/segment/component.js.map +1 -1
  58. package/lib/tools/shared/arrow-head.js +4 -4
  59. package/lib/tools/shared/arrow-head.js.map +1 -1
  60. package/lib/tools/shared/line/index.js +46 -44
  61. package/lib/tools/shared/line/index.js.map +1 -1
  62. package/lib/tools/shared/line/line-path.js +28 -20
  63. package/lib/tools/shared/line/line-path.js.map +1 -1
  64. package/lib/tools/shared/line/with-root-edge.js +8 -6
  65. package/lib/tools/shared/line/with-root-edge.js.map +1 -1
  66. package/lib/tools/shared/point/arrow-point.js +21 -15
  67. package/lib/tools/shared/point/arrow-point.js.map +1 -1
  68. package/lib/tools/shared/point/arrow.js +21 -15
  69. package/lib/tools/shared/point/arrow.js.map +1 -1
  70. package/lib/tools/shared/point/base-point.js +22 -16
  71. package/lib/tools/shared/point/base-point.js.map +1 -1
  72. package/lib/tools/shared/point/index.js +8 -4
  73. package/lib/tools/shared/point/index.js.map +1 -1
  74. package/lib/tools/shared/styles.js +1 -1
  75. package/lib/tools/shared/types.js +1 -1
  76. package/lib/tools/sine/component.js.map +1 -1
  77. package/lib/tools/sine/index.js +4 -4
  78. package/lib/tools/sine/index.js.map +1 -1
  79. package/lib/tools/vector/component.js +4 -2
  80. package/lib/tools/vector/component.js.map +1 -1
  81. package/lib/undo-redo.js +20 -16
  82. package/lib/undo-redo.js.map +1 -1
  83. package/lib/use-debounce.js +7 -3
  84. package/lib/use-debounce.js.map +1 -1
  85. package/lib/utils.js +93 -5
  86. package/lib/utils.js.map +1 -1
  87. package/package.json +2 -2
  88. package/src/axis/arrow.jsx +5 -5
  89. package/src/axis/axes.jsx +25 -36
  90. package/src/graph.jsx +16 -10
  91. package/src/tools/line/component.jsx +4 -2
  92. package/src/tools/ray/component.jsx +4 -2
  93. package/src/utils.js +87 -4
@@ -1,5 +1,7 @@
1
1
  "use strict";
2
2
 
3
+ function _typeof(obj) { "@babel/helpers - typeof"; return _typeof = "function" == typeof Symbol && "symbol" == typeof Symbol.iterator ? function (obj) { return typeof obj; } : function (obj) { return obj && "function" == typeof Symbol && obj.constructor === Symbol && obj !== Symbol.prototype ? "symbol" : typeof obj; }, _typeof(obj); }
4
+
3
5
  Object.defineProperty(exports, "__esModule", {
4
6
  value: true
5
7
  });
@@ -21,15 +23,17 @@ var utils = _interopRequireWildcard(require("../../utils"));
21
23
 
22
24
  var _styles2 = require("../shared/styles");
23
25
 
24
- function _interopRequireWildcard(obj) { if (obj && obj.__esModule) { return obj; } else { var newObj = {}; if (obj != null) { for (var key in obj) { if (Object.prototype.hasOwnProperty.call(obj, key)) { var desc = Object.defineProperty && Object.getOwnPropertyDescriptor ? Object.getOwnPropertyDescriptor(obj, key) : {}; if (desc.get || desc.set) { Object.defineProperty(newObj, key, desc); } else { newObj[key] = obj[key]; } } } } newObj["default"] = obj; return newObj; } }
26
+ var _excluded = ["classes", "disabled", "className", "correctness", "x", "y", "radius", "graphProps"];
27
+
28
+ function _getRequireWildcardCache(nodeInterop) { if (typeof WeakMap !== "function") return null; var cacheBabelInterop = new WeakMap(); var cacheNodeInterop = new WeakMap(); return (_getRequireWildcardCache = function _getRequireWildcardCache(nodeInterop) { return nodeInterop ? cacheNodeInterop : cacheBabelInterop; })(nodeInterop); }
25
29
 
26
- function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
30
+ function _interopRequireWildcard(obj, nodeInterop) { if (!nodeInterop && obj && obj.__esModule) { return obj; } if (obj === null || _typeof(obj) !== "object" && typeof obj !== "function") { return { "default": obj }; } var cache = _getRequireWildcardCache(nodeInterop); if (cache && cache.has(obj)) { return cache.get(obj); } var newObj = {}; var hasPropertyDescriptor = Object.defineProperty && Object.getOwnPropertyDescriptor; for (var key in obj) { if (key !== "default" && Object.prototype.hasOwnProperty.call(obj, key)) { var desc = hasPropertyDescriptor ? Object.getOwnPropertyDescriptor(obj, key) : null; if (desc && (desc.get || desc.set)) { Object.defineProperty(newObj, key, desc); } else { newObj[key] = obj[key]; } } } newObj["default"] = obj; if (cache) { cache.set(obj, newObj); } return newObj; }
27
31
 
28
- function ownKeys(object, enumerableOnly) { var keys = Object.keys(object); if (Object.getOwnPropertySymbols) { var symbols = Object.getOwnPropertySymbols(object); if (enumerableOnly) symbols = symbols.filter(function (sym) { return Object.getOwnPropertyDescriptor(object, sym).enumerable; }); keys.push.apply(keys, symbols); } return keys; }
32
+ function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { "default": obj }; }
29
33
 
30
- function _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i] != null ? arguments[i] : {}; if (i % 2) { ownKeys(source, true).forEach(function (key) { _defineProperty(target, key, source[key]); }); } else if (Object.getOwnPropertyDescriptors) { Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)); } else { ownKeys(source).forEach(function (key) { Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key)); }); } } return target; }
34
+ function ownKeys(object, enumerableOnly) { var keys = Object.keys(object); if (Object.getOwnPropertySymbols) { var symbols = Object.getOwnPropertySymbols(object); enumerableOnly && (symbols = symbols.filter(function (sym) { return Object.getOwnPropertyDescriptor(object, sym).enumerable; })), keys.push.apply(keys, symbols); } return keys; }
31
35
 
32
- function _typeof(obj) { if (typeof Symbol === "function" && typeof Symbol.iterator === "symbol") { _typeof = function _typeof(obj) { return typeof obj; }; } else { _typeof = function _typeof(obj) { return obj && typeof Symbol === "function" && obj.constructor === Symbol && obj !== Symbol.prototype ? "symbol" : typeof obj; }; } return _typeof(obj); }
36
+ function _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = null != arguments[i] ? arguments[i] : {}; i % 2 ? ownKeys(Object(source), !0).forEach(function (key) { _defineProperty(target, key, source[key]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)) : ownKeys(Object(source)).forEach(function (key) { Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key)); }); } return target; }
33
37
 
34
38
  function _extends() { _extends = Object.assign || function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; }; return _extends.apply(this, arguments); }
35
39
 
@@ -41,17 +45,21 @@ function _classCallCheck(instance, Constructor) { if (!(instance instanceof Cons
41
45
 
42
46
  function _defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if ("value" in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } }
43
47
 
44
- function _createClass(Constructor, protoProps, staticProps) { if (protoProps) _defineProperties(Constructor.prototype, protoProps); if (staticProps) _defineProperties(Constructor, staticProps); return Constructor; }
48
+ function _createClass(Constructor, protoProps, staticProps) { if (protoProps) _defineProperties(Constructor.prototype, protoProps); if (staticProps) _defineProperties(Constructor, staticProps); Object.defineProperty(Constructor, "prototype", { writable: false }); return Constructor; }
45
49
 
46
- function _possibleConstructorReturn(self, call) { if (call && (_typeof(call) === "object" || typeof call === "function")) { return call; } return _assertThisInitialized(self); }
50
+ function _inherits(subClass, superClass) { if (typeof superClass !== "function" && superClass !== null) { throw new TypeError("Super expression must either be null or a function"); } subClass.prototype = Object.create(superClass && superClass.prototype, { constructor: { value: subClass, writable: true, configurable: true } }); Object.defineProperty(subClass, "prototype", { writable: false }); if (superClass) _setPrototypeOf(subClass, superClass); }
47
51
 
48
- function _assertThisInitialized(self) { if (self === void 0) { throw new ReferenceError("this hasn't been initialised - super() hasn't been called"); } return self; }
52
+ function _setPrototypeOf(o, p) { _setPrototypeOf = Object.setPrototypeOf || function _setPrototypeOf(o, p) { o.__proto__ = p; return o; }; return _setPrototypeOf(o, p); }
49
53
 
50
- function _getPrototypeOf(o) { _getPrototypeOf = Object.setPrototypeOf ? Object.getPrototypeOf : function _getPrototypeOf(o) { return o.__proto__ || Object.getPrototypeOf(o); }; return _getPrototypeOf(o); }
54
+ function _createSuper(Derived) { var hasNativeReflectConstruct = _isNativeReflectConstruct(); return function _createSuperInternal() { var Super = _getPrototypeOf(Derived), result; if (hasNativeReflectConstruct) { var NewTarget = _getPrototypeOf(this).constructor; result = Reflect.construct(Super, arguments, NewTarget); } else { result = Super.apply(this, arguments); } return _possibleConstructorReturn(this, result); }; }
51
55
 
52
- function _inherits(subClass, superClass) { if (typeof superClass !== "function" && superClass !== null) { throw new TypeError("Super expression must either be null or a function"); } subClass.prototype = Object.create(superClass && superClass.prototype, { constructor: { value: subClass, writable: true, configurable: true } }); if (superClass) _setPrototypeOf(subClass, superClass); }
56
+ function _possibleConstructorReturn(self, call) { if (call && (_typeof(call) === "object" || typeof call === "function")) { return call; } else if (call !== void 0) { throw new TypeError("Derived constructors may only return object or undefined"); } return _assertThisInitialized(self); }
53
57
 
54
- function _setPrototypeOf(o, p) { _setPrototypeOf = Object.setPrototypeOf || function _setPrototypeOf(o, p) { o.__proto__ = p; return o; }; return _setPrototypeOf(o, p); }
58
+ function _assertThisInitialized(self) { if (self === void 0) { throw new ReferenceError("this hasn't been initialised - super() hasn't been called"); } return self; }
59
+
60
+ function _isNativeReflectConstruct() { if (typeof Reflect === "undefined" || !Reflect.construct) return false; if (Reflect.construct.sham) return false; if (typeof Proxy === "function") return true; try { Boolean.prototype.valueOf.call(Reflect.construct(Boolean, [], function () {})); return true; } catch (e) { return false; } }
61
+
62
+ function _getPrototypeOf(o) { _getPrototypeOf = Object.setPrototypeOf ? Object.getPrototypeOf : function _getPrototypeOf(o) { return o.__proto__ || Object.getPrototypeOf(o); }; return _getPrototypeOf(o); }
55
63
 
56
64
  function _defineProperty(obj, key, value) { if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; }
57
65
 
@@ -61,15 +69,15 @@ function _defineProperty(obj, key, value) { if (key in obj) { Object.definePrope
61
69
  * TODO: This and base point have a lot of similarities - merge commonality
62
70
  *
63
71
  */
64
- var RawCircle =
65
- /*#__PURE__*/
66
- function (_React$Component) {
72
+ var RawCircle = /*#__PURE__*/function (_React$Component) {
67
73
  _inherits(RawCircle, _React$Component);
68
74
 
75
+ var _super = _createSuper(RawCircle);
76
+
69
77
  function RawCircle() {
70
78
  _classCallCheck(this, RawCircle);
71
79
 
72
- return _possibleConstructorReturn(this, _getPrototypeOf(RawCircle).apply(this, arguments));
80
+ return _super.apply(this, arguments);
73
81
  }
74
82
 
75
83
  _createClass(RawCircle, [{
@@ -84,12 +92,12 @@ function (_React$Component) {
84
92
  y = _this$props.y,
85
93
  radius = _this$props.radius,
86
94
  graphProps = _this$props.graphProps,
87
- rest = _objectWithoutProperties(_this$props, ["classes", "disabled", "className", "correctness", "x", "y", "radius", "graphProps"]);
95
+ rest = _objectWithoutProperties(_this$props, _excluded);
88
96
 
89
97
  var scale = graphProps.scale;
90
98
  var rx = Math.abs(scale.x(x + radius) - scale.x(x));
91
99
  var ry = Math.abs(scale.y(y + radius) - scale.y(y));
92
- return _react["default"].createElement("ellipse", _extends({
100
+ return /*#__PURE__*/_react["default"].createElement("ellipse", _extends({
93
101
  className: (0, _classnames["default"])(classes.bgCircle, disabled && classes.disabled, classes[correctness], className),
94
102
  cx: scale.x(x),
95
103
  cy: scale.y(y),
@@ -114,7 +122,7 @@ _defineProperty(RawCircle, "propTypes", {
114
122
  });
115
123
 
116
124
  var applyStyle = function applyStyle(fn) {
117
- return _objectSpread({}, fn('stroke'), {
125
+ return _objectSpread(_objectSpread({}, fn('stroke')), {}, {
118
126
  '&:hover': _objectSpread({
119
127
  strokeWidth: 3
120
128
  }, fn('stroke'))
@@ -1 +1 @@
1
- {"version":3,"sources":["../../../src/tools/circle/bg-circle.jsx"],"names":["RawCircle","props","classes","disabled","className","correctness","x","y","radius","graphProps","rest","scale","rx","Math","abs","ry","bgCircle","React","Component","PropTypes","object","isRequired","string","bool","number","types","GraphPropsType","applyStyle","fn","strokeWidth","styles","fill","stroke","color","primaryLight","transition","primaryDark","correct","incorrect","BgCircle","bounds","domain","range","area","left","top","bottom","right","utils","anchorPoint","fromDelta","delta","newPoint","point","add"],"mappings":"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","sourcesContent":["import React from 'react';\nimport PropTypes from 'prop-types';\nimport { withStyles } from '@material-ui/core/styles';\nimport classNames from 'classnames';\nimport { types, gridDraggable } from '@pie-lib/plot';\nimport { color } from '@pie-lib/render-ui';\nimport * as utils from '../../utils';\nimport { disabled, correct, incorrect } from '../shared/styles';\n\n/**\n * A low level circle component\n *\n * TODO: This and base point have a lot of similarities - merge commonality\n *\n */\nclass RawCircle extends React.Component {\n static propTypes = {\n classes: PropTypes.object.isRequired,\n className: PropTypes.string,\n correctness: PropTypes.string,\n disabled: PropTypes.bool,\n x: PropTypes.number.isRequired,\n y: PropTypes.number.isRequired,\n radius: PropTypes.number,\n graphProps: types.GraphPropsType.isRequired\n };\n\n render() {\n const {\n classes,\n disabled,\n className,\n correctness,\n x,\n y,\n radius,\n graphProps,\n ...rest\n } = this.props;\n const { scale } = graphProps;\n const rx = Math.abs(scale.x(x + radius) - scale.x(x));\n const ry = Math.abs(scale.y(y + radius) - scale.y(y));\n\n return (\n <ellipse\n className={classNames(\n classes.bgCircle,\n disabled && classes.disabled,\n classes[correctness],\n className\n )}\n cx={scale.x(x)}\n cy={scale.y(y)}\n rx={rx}\n ry={ry}\n {...rest}\n />\n );\n }\n}\n\nconst applyStyle = fn => ({\n ...fn('stroke'),\n '&:hover': {\n strokeWidth: 3,\n ...fn('stroke')\n }\n});\n\nconst styles = () => ({\n bgCircle: {\n fill: 'transparent',\n stroke: color.primaryLight(),\n strokeWidth: 3,\n transition: 'stroke 200ms ease-in, stroke-width 200ms ease-in',\n '&:hover': {\n strokeWidth: 6,\n stroke: color.primaryDark()\n }\n },\n disabled: applyStyle(disabled),\n correct: applyStyle(correct),\n incorrect: applyStyle(incorrect)\n});\n\nexport const BgCircle = withStyles(styles)(RawCircle);\n\nexport default gridDraggable({\n bounds: (props, { domain, range }) => {\n const { x, y } = props;\n const area = { left: x, top: y, bottom: y, right: x };\n return utils.bounds(area, domain, range);\n },\n anchorPoint: props => {\n const { x, y } = props;\n return { x, y };\n },\n fromDelta: (props, delta) => {\n const newPoint = utils.point(props).add(utils.point(delta));\n return newPoint;\n }\n})(BgCircle);\n"],"file":"bg-circle.js"}
1
+ {"version":3,"sources":["../../../src/tools/circle/bg-circle.jsx"],"names":["RawCircle","props","classes","disabled","className","correctness","x","y","radius","graphProps","rest","scale","rx","Math","abs","ry","bgCircle","React","Component","PropTypes","object","isRequired","string","bool","number","types","GraphPropsType","applyStyle","fn","strokeWidth","styles","fill","stroke","color","primaryLight","transition","primaryDark","correct","incorrect","BgCircle","bounds","domain","range","area","left","top","bottom","right","utils","anchorPoint","fromDelta","delta","newPoint","point","add"],"mappings":"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","sourcesContent":["import React from 'react';\nimport PropTypes from 'prop-types';\nimport { withStyles } from '@material-ui/core/styles';\nimport classNames from 'classnames';\nimport { types, gridDraggable } from '@pie-lib/plot';\nimport { color } from '@pie-lib/render-ui';\nimport * as utils from '../../utils';\nimport { disabled, correct, incorrect } from '../shared/styles';\n\n/**\n * A low level circle component\n *\n * TODO: This and base point have a lot of similarities - merge commonality\n *\n */\nclass RawCircle extends React.Component {\n static propTypes = {\n classes: PropTypes.object.isRequired,\n className: PropTypes.string,\n correctness: PropTypes.string,\n disabled: PropTypes.bool,\n x: PropTypes.number.isRequired,\n y: PropTypes.number.isRequired,\n radius: PropTypes.number,\n graphProps: types.GraphPropsType.isRequired\n };\n\n render() {\n const {\n classes,\n disabled,\n className,\n correctness,\n x,\n y,\n radius,\n graphProps,\n ...rest\n } = this.props;\n const { scale } = graphProps;\n const rx = Math.abs(scale.x(x + radius) - scale.x(x));\n const ry = Math.abs(scale.y(y + radius) - scale.y(y));\n\n return (\n <ellipse\n className={classNames(\n classes.bgCircle,\n disabled && classes.disabled,\n classes[correctness],\n className\n )}\n cx={scale.x(x)}\n cy={scale.y(y)}\n rx={rx}\n ry={ry}\n {...rest}\n />\n );\n }\n}\n\nconst applyStyle = fn => ({\n ...fn('stroke'),\n '&:hover': {\n strokeWidth: 3,\n ...fn('stroke')\n }\n});\n\nconst styles = () => ({\n bgCircle: {\n fill: 'transparent',\n stroke: color.primaryLight(),\n strokeWidth: 3,\n transition: 'stroke 200ms ease-in, stroke-width 200ms ease-in',\n '&:hover': {\n strokeWidth: 6,\n stroke: color.primaryDark()\n }\n },\n disabled: applyStyle(disabled),\n correct: applyStyle(correct),\n incorrect: applyStyle(incorrect)\n});\n\nexport const BgCircle = withStyles(styles)(RawCircle);\n\nexport default gridDraggable({\n bounds: (props, { domain, range }) => {\n const { x, y } = props;\n const area = { left: x, top: y, bottom: y, right: x };\n return utils.bounds(area, domain, range);\n },\n anchorPoint: props => {\n const { x, y } = props;\n return { x, y };\n },\n fromDelta: (props, delta) => {\n const newPoint = utils.point(props).add(utils.point(delta));\n return newPoint;\n }\n})(BgCircle);\n"],"file":"bg-circle.js"}
@@ -1,9 +1,11 @@
1
1
  "use strict";
2
2
 
3
+ function _typeof(obj) { "@babel/helpers - typeof"; return _typeof = "function" == typeof Symbol && "symbol" == typeof Symbol.iterator ? function (obj) { return typeof obj; } : function (obj) { return obj && "function" == typeof Symbol && obj.constructor === Symbol && obj !== Symbol.prototype ? "symbol" : typeof obj; }, _typeof(obj); }
4
+
3
5
  Object.defineProperty(exports, "__esModule", {
4
6
  value: true
5
7
  });
6
- exports["default"] = exports.BaseCircle = exports.RawBaseCircle = void 0;
8
+ exports["default"] = exports.RawBaseCircle = exports.BaseCircle = void 0;
7
9
 
8
10
  var _react = _interopRequireDefault(require("react"));
9
11
 
@@ -33,29 +35,31 @@ var _renderUi = require("@pie-lib/render-ui");
33
35
 
34
36
  function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { "default": obj }; }
35
37
 
36
- function _typeof(obj) { if (typeof Symbol === "function" && typeof Symbol.iterator === "symbol") { _typeof = function _typeof(obj) { return typeof obj; }; } else { _typeof = function _typeof(obj) { return obj && typeof Symbol === "function" && obj.constructor === Symbol && obj !== Symbol.prototype ? "symbol" : typeof obj; }; } return _typeof(obj); }
37
-
38
38
  function _extends() { _extends = Object.assign || function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; }; return _extends.apply(this, arguments); }
39
39
 
40
- function ownKeys(object, enumerableOnly) { var keys = Object.keys(object); if (Object.getOwnPropertySymbols) { var symbols = Object.getOwnPropertySymbols(object); if (enumerableOnly) symbols = symbols.filter(function (sym) { return Object.getOwnPropertyDescriptor(object, sym).enumerable; }); keys.push.apply(keys, symbols); } return keys; }
40
+ 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; }
41
41
 
42
- function _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i] != null ? arguments[i] : {}; if (i % 2) { ownKeys(source, true).forEach(function (key) { _defineProperty(target, key, source[key]); }); } else if (Object.getOwnPropertyDescriptors) { Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)); } else { ownKeys(source).forEach(function (key) { Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key)); }); } } return target; }
42
+ function _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = null != arguments[i] ? arguments[i] : {}; i % 2 ? ownKeys(Object(source), !0).forEach(function (key) { _defineProperty(target, key, source[key]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)) : ownKeys(Object(source)).forEach(function (key) { Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key)); }); } return target; }
43
43
 
44
44
  function _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError("Cannot call a class as a function"); } }
45
45
 
46
46
  function _defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if ("value" in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } }
47
47
 
48
- function _createClass(Constructor, protoProps, staticProps) { if (protoProps) _defineProperties(Constructor.prototype, protoProps); if (staticProps) _defineProperties(Constructor, staticProps); return Constructor; }
48
+ function _createClass(Constructor, protoProps, staticProps) { if (protoProps) _defineProperties(Constructor.prototype, protoProps); if (staticProps) _defineProperties(Constructor, staticProps); Object.defineProperty(Constructor, "prototype", { writable: false }); return Constructor; }
49
49
 
50
- function _possibleConstructorReturn(self, call) { if (call && (_typeof(call) === "object" || typeof call === "function")) { return call; } return _assertThisInitialized(self); }
50
+ function _inherits(subClass, superClass) { if (typeof superClass !== "function" && superClass !== null) { throw new TypeError("Super expression must either be null or a function"); } subClass.prototype = Object.create(superClass && superClass.prototype, { constructor: { value: subClass, writable: true, configurable: true } }); Object.defineProperty(subClass, "prototype", { writable: false }); if (superClass) _setPrototypeOf(subClass, superClass); }
51
51
 
52
- function _getPrototypeOf(o) { _getPrototypeOf = Object.setPrototypeOf ? Object.getPrototypeOf : function _getPrototypeOf(o) { return o.__proto__ || Object.getPrototypeOf(o); }; return _getPrototypeOf(o); }
52
+ function _setPrototypeOf(o, p) { _setPrototypeOf = Object.setPrototypeOf || function _setPrototypeOf(o, p) { o.__proto__ = p; return o; }; return _setPrototypeOf(o, p); }
53
+
54
+ function _createSuper(Derived) { var hasNativeReflectConstruct = _isNativeReflectConstruct(); return function _createSuperInternal() { var Super = _getPrototypeOf(Derived), result; if (hasNativeReflectConstruct) { var NewTarget = _getPrototypeOf(this).constructor; result = Reflect.construct(Super, arguments, NewTarget); } else { result = Super.apply(this, arguments); } return _possibleConstructorReturn(this, result); }; }
55
+
56
+ function _possibleConstructorReturn(self, call) { if (call && (_typeof(call) === "object" || typeof call === "function")) { return call; } else if (call !== void 0) { throw new TypeError("Derived constructors may only return object or undefined"); } return _assertThisInitialized(self); }
53
57
 
54
58
  function _assertThisInitialized(self) { if (self === void 0) { throw new ReferenceError("this hasn't been initialised - super() hasn't been called"); } return self; }
55
59
 
56
- function _inherits(subClass, superClass) { if (typeof superClass !== "function" && superClass !== null) { throw new TypeError("Super expression must either be null or a function"); } subClass.prototype = Object.create(superClass && superClass.prototype, { constructor: { value: subClass, writable: true, configurable: true } }); if (superClass) _setPrototypeOf(subClass, superClass); }
60
+ function _isNativeReflectConstruct() { if (typeof Reflect === "undefined" || !Reflect.construct) return false; if (Reflect.construct.sham) return false; if (typeof Proxy === "function") return true; try { Boolean.prototype.valueOf.call(Reflect.construct(Boolean, [], function () {})); return true; } catch (e) { return false; } }
57
61
 
58
- function _setPrototypeOf(o, p) { _setPrototypeOf = Object.setPrototypeOf || function _setPrototypeOf(o, p) { o.__proto__ = p; return o; }; return _setPrototypeOf(o, p); }
62
+ function _getPrototypeOf(o) { _getPrototypeOf = Object.setPrototypeOf ? Object.getPrototypeOf : function _getPrototypeOf(o) { return o.__proto__ || Object.getPrototypeOf(o); }; return _getPrototypeOf(o); }
59
63
 
60
64
  function _defineProperty(obj, key, value) { if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; }
61
65
 
@@ -78,14 +82,12 @@ var getRadius = function getRadius(from, outer) {
78
82
  return c.dist((0, _utils.point)(outer));
79
83
  };
80
84
 
81
- var RawBaseCircle =
82
- /*#__PURE__*/
83
- function (_React$Component) {
85
+ var RawBaseCircle = /*#__PURE__*/function (_React$Component) {
84
86
  _inherits(RawBaseCircle, _React$Component);
85
87
 
86
- function RawBaseCircle() {
87
- var _getPrototypeOf2;
88
+ var _super = _createSuper(RawBaseCircle);
88
89
 
90
+ function RawBaseCircle() {
89
91
  var _this;
90
92
 
91
93
  _classCallCheck(this, RawBaseCircle);
@@ -94,7 +96,7 @@ function (_React$Component) {
94
96
  args[_key] = arguments[_key];
95
97
  }
96
98
 
97
- _this = _possibleConstructorReturn(this, (_getPrototypeOf2 = _getPrototypeOf(RawBaseCircle)).call.apply(_getPrototypeOf2, [this].concat(args)));
99
+ _this = _super.call.apply(_super, [this].concat(args));
98
100
 
99
101
  _defineProperty(_assertThisInitialized(_this), "onChangePoint", function (point) {
100
102
  var _this$props = _this.props,
@@ -105,7 +107,7 @@ function (_React$Component) {
105
107
 
106
108
  if (!(0, _utils.equalPoints)(from, to)) {
107
109
  if (middle) {
108
- point.middle = _objectSpread({}, middle, {}, (0, _utils.getMiddleOfTwoPoints)(from, to));
110
+ point.middle = _objectSpread(_objectSpread({}, middle), (0, _utils.getMiddleOfTwoPoints)(from, to));
109
111
  }
110
112
 
111
113
  onChange(point);
@@ -169,7 +171,7 @@ function (_React$Component) {
169
171
  };
170
172
 
171
173
  if (middle) {
172
- updated.middle = _objectSpread({}, middle, {}, (0, _utils.getMiddleOfTwoPoints)(draggedFrom, draggedTo));
174
+ updated.middle = _objectSpread(_objectSpread({}, middle), (0, _utils.getMiddleOfTwoPoints)(draggedFrom, draggedTo));
173
175
  }
174
176
 
175
177
  _this.setState({
@@ -200,7 +202,7 @@ function (_React$Component) {
200
202
  to = _this$props5.to;
201
203
 
202
204
  if (type === 'middle' && !point && from && to) {
203
- point = _objectSpread({}, point, {}, (0, _utils.getMiddleOfTwoPoints)(from, to));
205
+ point = _objectSpread(_objectSpread({}, point), (0, _utils.getMiddleOfTwoPoints)(from, to));
204
206
  }
205
207
 
206
208
  changeMarkProps(_defineProperty({
@@ -254,7 +256,7 @@ function (_React$Component) {
254
256
 
255
257
  if (labelNode) {
256
258
  if (from && from.hasOwnProperty('label')) {
257
- fromLabelNode = _reactDom["default"].createPortal(_react["default"].createElement(_markLabel["default"], {
259
+ fromLabelNode = /*#__PURE__*/_reactDom["default"].createPortal( /*#__PURE__*/_react["default"].createElement(_markLabel["default"], {
258
260
  inputRef: function inputRef(r) {
259
261
  return _this2.input.from = r;
260
262
  },
@@ -262,7 +264,7 @@ function (_React$Component) {
262
264
  mark: from,
263
265
  graphProps: graphProps,
264
266
  onChange: function onChange(label) {
265
- return _this2.labelChange(_objectSpread({}, from, {
267
+ return _this2.labelChange(_objectSpread(_objectSpread({}, from), {}, {
266
268
  label: label
267
269
  }), 'from');
268
270
  }
@@ -270,7 +272,7 @@ function (_React$Component) {
270
272
  }
271
273
 
272
274
  if (to && to.hasOwnProperty('label')) {
273
- toLabelNode = _reactDom["default"].createPortal(_react["default"].createElement(_markLabel["default"], {
275
+ toLabelNode = /*#__PURE__*/_reactDom["default"].createPortal( /*#__PURE__*/_react["default"].createElement(_markLabel["default"], {
274
276
  inputRef: function inputRef(r) {
275
277
  return _this2.input.to = r;
276
278
  },
@@ -278,7 +280,7 @@ function (_React$Component) {
278
280
  mark: to,
279
281
  graphProps: graphProps,
280
282
  onChange: function onChange(label) {
281
- return _this2.labelChange(_objectSpread({}, to, {
283
+ return _this2.labelChange(_objectSpread(_objectSpread({}, to), {}, {
282
284
  label: label
283
285
  }), 'to');
284
286
  }
@@ -286,7 +288,7 @@ function (_React$Component) {
286
288
  }
287
289
 
288
290
  if (middle && middle.hasOwnProperty('label')) {
289
- circleLabelNode = _reactDom["default"].createPortal(_react["default"].createElement(_markLabel["default"], {
291
+ circleLabelNode = /*#__PURE__*/_reactDom["default"].createPortal( /*#__PURE__*/_react["default"].createElement(_markLabel["default"], {
290
292
  inputRef: function inputRef(r) {
291
293
  return _this2.input.middle = r;
292
294
  },
@@ -294,7 +296,7 @@ function (_React$Component) {
294
296
  mark: middle,
295
297
  graphProps: graphProps,
296
298
  onChange: function onChange(label) {
297
- return _this2.labelChange(_objectSpread({}, middle, {
299
+ return _this2.labelChange(_objectSpread(_objectSpread({}, middle), {}, {
298
300
  label: label
299
301
  }), 'middle');
300
302
  }
@@ -302,7 +304,7 @@ function (_React$Component) {
302
304
  }
303
305
  }
304
306
 
305
- return _react["default"].createElement("g", null, _react["default"].createElement(_bgCircle["default"], _extends({
307
+ return /*#__PURE__*/_react["default"].createElement("g", null, /*#__PURE__*/_react["default"].createElement(_bgCircle["default"], _extends({
306
308
  disabled: building || disabled,
307
309
  correctness: correctness,
308
310
  className: (0, _classnames["default"])(building && classes.bgCircleBuilding),
@@ -314,7 +316,7 @@ function (_React$Component) {
314
316
  onClick: labelModeEnabled ? function () {
315
317
  return _this2.clickPoint(middle, 'middle');
316
318
  } : common.onClick
317
- })), circleLabelNode, _react["default"].createElement(_point.BasePoint, _extends({
319
+ })), circleLabelNode, /*#__PURE__*/_react["default"].createElement(_point.BasePoint, _extends({
318
320
  disabled: building || disabled,
319
321
  coordinatesOnHover: coordinatesOnHover,
320
322
  correctness: correctness,
@@ -326,7 +328,7 @@ function (_React$Component) {
326
328
  onClick: labelModeEnabled ? function () {
327
329
  return _this2.clickPoint(to, 'to');
328
330
  } : common.onClick
329
- })), toLabelNode, _react["default"].createElement(_point.BasePoint, _extends({
331
+ })), toLabelNode, /*#__PURE__*/_react["default"].createElement(_point.BasePoint, _extends({
330
332
  disabled: building || disabled,
331
333
  coordinatesOnHover: coordinatesOnHover,
332
334
  correctness: correctness,
@@ -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","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","theme","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(theme => ({\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
+ {"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","theme","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(theme => ({\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"}
@@ -11,9 +11,9 @@ var _utils = require("../../utils");
11
11
 
12
12
  function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { "default": obj }; }
13
13
 
14
- function ownKeys(object, enumerableOnly) { var keys = Object.keys(object); if (Object.getOwnPropertySymbols) { var symbols = Object.getOwnPropertySymbols(object); if (enumerableOnly) symbols = symbols.filter(function (sym) { return Object.getOwnPropertyDescriptor(object, sym).enumerable; }); keys.push.apply(keys, symbols); } return keys; }
14
+ 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; }
15
15
 
16
- function _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i] != null ? arguments[i] : {}; if (i % 2) { ownKeys(source, true).forEach(function (key) { _defineProperty(target, key, source[key]); }); } else if (Object.getOwnPropertyDescriptors) { Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)); } else { ownKeys(source).forEach(function (key) { Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key)); }); } } return target; }
16
+ function _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = null != arguments[i] ? arguments[i] : {}; i % 2 ? ownKeys(Object(source), !0).forEach(function (key) { _defineProperty(target, key, source[key]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)) : ownKeys(Object(source)).forEach(function (key) { Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key)); }); } return target; }
17
17
 
18
18
  function _defineProperty(obj, key, value) { if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; }
19
19
 
@@ -22,7 +22,7 @@ var tool = function tool() {
22
22
  type: 'circle',
23
23
  Component: _component["default"],
24
24
  hover: function hover(point, mark) {
25
- return _objectSpread({}, mark, {
25
+ return _objectSpread(_objectSpread({}, mark), {}, {
26
26
  edge: point
27
27
  });
28
28
  },
@@ -38,7 +38,7 @@ var tool = function tool() {
38
38
  building: true
39
39
  };
40
40
  } else {
41
- return _objectSpread({}, mark, {
41
+ return _objectSpread(_objectSpread({}, mark), {}, {
42
42
  edge: point,
43
43
  building: false
44
44
  });
@@ -1 +1 @@
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,+BAAYA,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,iCAAYJ,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
+ {"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"}
@@ -3,40 +3,35 @@
3
3
  Object.defineProperty(exports, "__esModule", {
4
4
  value: true
5
5
  });
6
- Object.defineProperty(exports, "point", {
7
- enumerable: true,
8
- get: function get() {
9
- return _point.tool;
10
- }
11
- });
6
+ exports.allTools = void 0;
12
7
  Object.defineProperty(exports, "circle", {
13
8
  enumerable: true,
14
9
  get: function get() {
15
10
  return _circle.tool;
16
11
  }
17
12
  });
18
- Object.defineProperty(exports, "polygon", {
13
+ Object.defineProperty(exports, "line", {
19
14
  enumerable: true,
20
15
  get: function get() {
21
- return _polygon.tool;
16
+ return _line.tool;
22
17
  }
23
18
  });
24
- Object.defineProperty(exports, "sine", {
19
+ Object.defineProperty(exports, "parabola", {
25
20
  enumerable: true,
26
21
  get: function get() {
27
- return _index.tool;
22
+ return _index2.tool;
28
23
  }
29
24
  });
30
- Object.defineProperty(exports, "parabola", {
25
+ Object.defineProperty(exports, "point", {
31
26
  enumerable: true,
32
27
  get: function get() {
33
- return _index2.tool;
28
+ return _point.tool;
34
29
  }
35
30
  });
36
- Object.defineProperty(exports, "line", {
31
+ Object.defineProperty(exports, "polygon", {
37
32
  enumerable: true,
38
33
  get: function get() {
39
- return _line.tool;
34
+ return _polygon.tool;
40
35
  }
41
36
  });
42
37
  Object.defineProperty(exports, "ray", {
@@ -45,13 +40,19 @@ Object.defineProperty(exports, "ray", {
45
40
  return _ray.tool;
46
41
  }
47
42
  });
43
+ Object.defineProperty(exports, "sine", {
44
+ enumerable: true,
45
+ get: function get() {
46
+ return _index.tool;
47
+ }
48
+ });
49
+ exports.toolsArr = void 0;
48
50
  Object.defineProperty(exports, "vector", {
49
51
  enumerable: true,
50
52
  get: function get() {
51
53
  return _vector.tool;
52
54
  }
53
55
  });
54
- exports.toolsArr = exports.allTools = void 0;
55
56
 
56
57
  var _point = require("./point");
57
58
 
@@ -1 +1 @@
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,CACf,QADe,EAEf,MAFe,EAGf,OAHe,EAIf,UAJe,EAKf,OALe,EAMf,SANe,EAOf,KAPe,EAQf,SARe,EASf,MATe,EAUf,QAVe,CAAjB;;AAaA,IAAMC,QAAQ,GAAG,CACf,mBADe,EAEf,iBAFe,EAGf,mBAHe,EAIf,kBAJe,EAKf,oBALe,EAMf,gBANe,EAOf,oBAPe,EAQf,kBARe,EASf,mBATe,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 = [\n 'circle',\n 'line',\n 'label',\n 'parabola',\n 'point',\n 'polygon',\n 'ray',\n 'segment',\n 'sine',\n 'vector'\n];\n\nconst toolsArr = [\n circle(),\n line(),\n parabola(),\n point(),\n polygon(),\n ray(),\n segment(),\n sine(),\n vector()\n];\n\nexport { allTools, toolsArr, circle, line, point, parabola, polygon, ray, sine, vector };\n"],"file":"index.js"}
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,CACf,QADe,EAEf,MAFe,EAGf,OAHe,EAIf,UAJe,EAKf,OALe,EAMf,SANe,EAOf,KAPe,EAQf,SARe,EASf,MATe,EAUf,QAVe,CAAjB;;AAaA,IAAMC,QAAQ,GAAG,CACf,mBADe,EAEf,iBAFe,EAGf,mBAHe,EAIf,kBAJe,EAKf,oBALe,EAMf,gBANe,EAOf,oBAPe,EAQf,kBARe,EASf,mBATe,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 = [\n 'circle',\n 'line',\n 'label',\n 'parabola',\n 'point',\n 'polygon',\n 'ray',\n 'segment',\n 'sine',\n 'vector'\n];\n\nconst toolsArr = [\n circle(),\n line(),\n parabola(),\n point(),\n polygon(),\n ray(),\n segment(),\n sine(),\n vector()\n];\n\nexport { allTools, toolsArr, circle, line, point, parabola, polygon, ray, sine, vector };\n"],"file":"index.js"}