@pie-lib/graphing 2.15.0-beta.1 → 2.15.0-beta.2
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/CHANGELOG.md +16 -0
- package/package.json +9 -9
- package/lib/axis/arrow.js +0 -115
- package/lib/axis/arrow.js.map +0 -1
- package/lib/axis/axes.js +0 -415
- package/lib/axis/axes.js.map +0 -1
- package/lib/axis/index.js +0 -26
- package/lib/axis/index.js.map +0 -1
- package/lib/bg.js +0 -139
- package/lib/bg.js.map +0 -1
- package/lib/container/actions.js +0 -24
- package/lib/container/actions.js.map +0 -1
- package/lib/container/index.js +0 -163
- package/lib/container/index.js.map +0 -1
- package/lib/container/marks.js +0 -27
- package/lib/container/marks.js.map +0 -1
- package/lib/container/middleware.js +0 -25
- package/lib/container/middleware.js.map +0 -1
- package/lib/container/reducer.js +0 -25
- package/lib/container/reducer.js.map +0 -1
- package/lib/coordinates-label.js +0 -109
- package/lib/coordinates-label.js.map +0 -1
- package/lib/graph-with-controls.js +0 -359
- package/lib/graph-with-controls.js.map +0 -1
- package/lib/graph.js +0 -371
- package/lib/graph.js.map +0 -1
- package/lib/grid-setup.js +0 -462
- package/lib/grid-setup.js.map +0 -1
- package/lib/grid.js +0 -176
- package/lib/grid.js.map +0 -1
- package/lib/index.js +0 -59
- package/lib/index.js.map +0 -1
- package/lib/key-legend.js +0 -246
- package/lib/key-legend.js.map +0 -1
- package/lib/label-svg-icon.js +0 -56
- package/lib/label-svg-icon.js.map +0 -1
- package/lib/labels.js +0 -299
- package/lib/labels.js.map +0 -1
- package/lib/mark-label.js +0 -321
- package/lib/mark-label.js.map +0 -1
- package/lib/toggle-bar.js +0 -336
- package/lib/toggle-bar.js.map +0 -1
- package/lib/tool-menu.js +0 -112
- package/lib/tool-menu.js.map +0 -1
- package/lib/tools/absolute/component.js +0 -35
- package/lib/tools/absolute/component.js.map +0 -1
- package/lib/tools/absolute/index.js +0 -63
- package/lib/tools/absolute/index.js.map +0 -1
- package/lib/tools/circle/bg-circle.js +0 -173
- package/lib/tools/circle/bg-circle.js.map +0 -1
- package/lib/tools/circle/component.js +0 -406
- package/lib/tools/circle/component.js.map +0 -1
- package/lib/tools/circle/index.js +0 -51
- package/lib/tools/circle/index.js.map +0 -1
- package/lib/tools/exponential/component.js +0 -34
- package/lib/tools/exponential/component.js.map +0 -1
- package/lib/tools/exponential/index.js +0 -71
- package/lib/tools/exponential/index.js.map +0 -1
- package/lib/tools/index.js +0 -99
- package/lib/tools/index.js.map +0 -1
- package/lib/tools/line/component.js +0 -103
- package/lib/tools/line/component.js.map +0 -1
- package/lib/tools/line/index.js +0 -16
- package/lib/tools/line/index.js.map +0 -1
- package/lib/tools/parabola/component.js +0 -34
- package/lib/tools/parabola/component.js.map +0 -1
- package/lib/tools/parabola/index.js +0 -63
- package/lib/tools/parabola/index.js.map +0 -1
- package/lib/tools/point/component.js +0 -186
- package/lib/tools/point/component.js.map +0 -1
- package/lib/tools/point/index.js +0 -32
- package/lib/tools/point/index.js.map +0 -1
- package/lib/tools/polygon/component.js +0 -518
- package/lib/tools/polygon/component.js.map +0 -1
- package/lib/tools/polygon/index.js +0 -106
- package/lib/tools/polygon/index.js.map +0 -1
- package/lib/tools/polygon/line.js +0 -157
- package/lib/tools/polygon/line.js.map +0 -1
- package/lib/tools/polygon/polygon.js +0 -165
- package/lib/tools/polygon/polygon.js.map +0 -1
- package/lib/tools/ray/component.js +0 -102
- package/lib/tools/ray/component.js.map +0 -1
- package/lib/tools/ray/index.js +0 -16
- package/lib/tools/ray/index.js.map +0 -1
- package/lib/tools/segment/component.js +0 -75
- package/lib/tools/segment/component.js.map +0 -1
- package/lib/tools/segment/index.js +0 -16
- package/lib/tools/segment/index.js.map +0 -1
- package/lib/tools/shared/arrow-head.js +0 -70
- package/lib/tools/shared/arrow-head.js.map +0 -1
- package/lib/tools/shared/icons/CorrectSVG.js +0 -36
- package/lib/tools/shared/icons/CorrectSVG.js.map +0 -1
- package/lib/tools/shared/icons/IncorrectSVG.js +0 -36
- package/lib/tools/shared/icons/IncorrectSVG.js.map +0 -1
- package/lib/tools/shared/icons/MissingSVG.js +0 -35
- package/lib/tools/shared/icons/MissingSVG.js.map +0 -1
- package/lib/tools/shared/line/index.js +0 -599
- package/lib/tools/shared/line/index.js.map +0 -1
- package/lib/tools/shared/line/line-path.js +0 -151
- package/lib/tools/shared/line/line-path.js.map +0 -1
- package/lib/tools/shared/line/with-root-edge.js +0 -155
- package/lib/tools/shared/line/with-root-edge.js.map +0 -1
- package/lib/tools/shared/point/arrow-point.js +0 -113
- package/lib/tools/shared/point/arrow-point.js.map +0 -1
- package/lib/tools/shared/point/arrow.js +0 -96
- package/lib/tools/shared/point/arrow.js.map +0 -1
- package/lib/tools/shared/point/base-point.js +0 -175
- package/lib/tools/shared/point/base-point.js.map +0 -1
- package/lib/tools/shared/point/index.js +0 -97
- package/lib/tools/shared/point/index.js.map +0 -1
- package/lib/tools/shared/styles.js +0 -58
- package/lib/tools/shared/styles.js.map +0 -1
- package/lib/tools/shared/types.js +0 -23
- package/lib/tools/shared/types.js.map +0 -1
- package/lib/tools/sine/component.js +0 -51
- package/lib/tools/sine/component.js.map +0 -1
- package/lib/tools/sine/index.js +0 -63
- package/lib/tools/sine/index.js.map +0 -1
- package/lib/tools/vector/component.js +0 -88
- package/lib/tools/vector/component.js.map +0 -1
- package/lib/tools/vector/index.js +0 -16
- package/lib/tools/vector/index.js.map +0 -1
- package/lib/undo-redo.js +0 -123
- package/lib/undo-redo.js.map +0 -1
- package/lib/use-debounce.js +0 -32
- package/lib/use-debounce.js.map +0 -1
- package/lib/utils.js +0 -307
- package/lib/utils.js.map +0 -1
|
@@ -1,173 +0,0 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
|
|
3
|
-
var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
|
|
4
|
-
|
|
5
|
-
var _typeof = require("@babel/runtime/helpers/typeof");
|
|
6
|
-
|
|
7
|
-
Object.defineProperty(exports, "__esModule", {
|
|
8
|
-
value: true
|
|
9
|
-
});
|
|
10
|
-
exports["default"] = exports.BgCircle = void 0;
|
|
11
|
-
|
|
12
|
-
var _extends2 = _interopRequireDefault(require("@babel/runtime/helpers/extends"));
|
|
13
|
-
|
|
14
|
-
var _objectWithoutProperties2 = _interopRequireDefault(require("@babel/runtime/helpers/objectWithoutProperties"));
|
|
15
|
-
|
|
16
|
-
var _classCallCheck2 = _interopRequireDefault(require("@babel/runtime/helpers/classCallCheck"));
|
|
17
|
-
|
|
18
|
-
var _createClass2 = _interopRequireDefault(require("@babel/runtime/helpers/createClass"));
|
|
19
|
-
|
|
20
|
-
var _inherits2 = _interopRequireDefault(require("@babel/runtime/helpers/inherits"));
|
|
21
|
-
|
|
22
|
-
var _possibleConstructorReturn2 = _interopRequireDefault(require("@babel/runtime/helpers/possibleConstructorReturn"));
|
|
23
|
-
|
|
24
|
-
var _getPrototypeOf2 = _interopRequireDefault(require("@babel/runtime/helpers/getPrototypeOf"));
|
|
25
|
-
|
|
26
|
-
var _defineProperty2 = _interopRequireDefault(require("@babel/runtime/helpers/defineProperty"));
|
|
27
|
-
|
|
28
|
-
var _react = _interopRequireDefault(require("react"));
|
|
29
|
-
|
|
30
|
-
var _propTypes = _interopRequireDefault(require("prop-types"));
|
|
31
|
-
|
|
32
|
-
var _styles = require("@material-ui/core/styles");
|
|
33
|
-
|
|
34
|
-
var _classnames = _interopRequireDefault(require("classnames"));
|
|
35
|
-
|
|
36
|
-
var _plot = require("@pie-lib/plot");
|
|
37
|
-
|
|
38
|
-
var _renderUi = require("@pie-lib/render-ui");
|
|
39
|
-
|
|
40
|
-
var utils = _interopRequireWildcard(require("../../utils"));
|
|
41
|
-
|
|
42
|
-
var _styles2 = require("../shared/styles");
|
|
43
|
-
|
|
44
|
-
var _excluded = ["classes", "disabled", "className", "correctness", "x", "y", "radius", "graphProps"];
|
|
45
|
-
|
|
46
|
-
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); }
|
|
47
|
-
|
|
48
|
-
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; }
|
|
49
|
-
|
|
50
|
-
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; }
|
|
51
|
-
|
|
52
|
-
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; }
|
|
53
|
-
|
|
54
|
-
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); }; }
|
|
55
|
-
|
|
56
|
-
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
|
-
|
|
58
|
-
/**
|
|
59
|
-
* A low level circle component
|
|
60
|
-
*
|
|
61
|
-
* TODO: This and base point have a lot of similarities - merge commonality
|
|
62
|
-
*
|
|
63
|
-
*/
|
|
64
|
-
var RawCircle = /*#__PURE__*/function (_React$Component) {
|
|
65
|
-
(0, _inherits2["default"])(RawCircle, _React$Component);
|
|
66
|
-
|
|
67
|
-
var _super = _createSuper(RawCircle);
|
|
68
|
-
|
|
69
|
-
function RawCircle() {
|
|
70
|
-
(0, _classCallCheck2["default"])(this, RawCircle);
|
|
71
|
-
return _super.apply(this, arguments);
|
|
72
|
-
}
|
|
73
|
-
|
|
74
|
-
(0, _createClass2["default"])(RawCircle, [{
|
|
75
|
-
key: "render",
|
|
76
|
-
value: function render() {
|
|
77
|
-
var _this$props = this.props,
|
|
78
|
-
classes = _this$props.classes,
|
|
79
|
-
disabled = _this$props.disabled,
|
|
80
|
-
className = _this$props.className,
|
|
81
|
-
correctness = _this$props.correctness,
|
|
82
|
-
x = _this$props.x,
|
|
83
|
-
y = _this$props.y,
|
|
84
|
-
radius = _this$props.radius,
|
|
85
|
-
graphProps = _this$props.graphProps,
|
|
86
|
-
rest = (0, _objectWithoutProperties2["default"])(_this$props, _excluded);
|
|
87
|
-
var scale = graphProps.scale;
|
|
88
|
-
var rx = Math.abs(scale.x(x + radius) - scale.x(x));
|
|
89
|
-
var ry = Math.abs(scale.y(y + radius) - scale.y(y));
|
|
90
|
-
return /*#__PURE__*/_react["default"].createElement("ellipse", (0, _extends2["default"])({
|
|
91
|
-
className: (0, _classnames["default"])(classes.bgCircle, disabled && classes.disabledSecondary, classes[correctness], className),
|
|
92
|
-
cx: scale.x(x),
|
|
93
|
-
cy: scale.y(y),
|
|
94
|
-
rx: rx,
|
|
95
|
-
ry: ry
|
|
96
|
-
}, rest));
|
|
97
|
-
}
|
|
98
|
-
}]);
|
|
99
|
-
return RawCircle;
|
|
100
|
-
}(_react["default"].Component);
|
|
101
|
-
|
|
102
|
-
(0, _defineProperty2["default"])(RawCircle, "propTypes", {
|
|
103
|
-
classes: _propTypes["default"].object.isRequired,
|
|
104
|
-
className: _propTypes["default"].string,
|
|
105
|
-
correctness: _propTypes["default"].string,
|
|
106
|
-
disabled: _propTypes["default"].bool,
|
|
107
|
-
x: _propTypes["default"].number.isRequired,
|
|
108
|
-
y: _propTypes["default"].number.isRequired,
|
|
109
|
-
radius: _propTypes["default"].number,
|
|
110
|
-
graphProps: _plot.types.GraphPropsType.isRequired
|
|
111
|
-
});
|
|
112
|
-
|
|
113
|
-
var applyStyle = function applyStyle(fn) {
|
|
114
|
-
return _objectSpread(_objectSpread({}, fn('stroke')), {}, {
|
|
115
|
-
'&:hover': _objectSpread({
|
|
116
|
-
strokeWidth: 3
|
|
117
|
-
}, fn('stroke'))
|
|
118
|
-
});
|
|
119
|
-
};
|
|
120
|
-
|
|
121
|
-
var styles = function styles() {
|
|
122
|
-
return {
|
|
123
|
-
bgCircle: {
|
|
124
|
-
fill: 'transparent',
|
|
125
|
-
stroke: _renderUi.color.defaults.BLACK,
|
|
126
|
-
strokeWidth: 3,
|
|
127
|
-
transition: 'stroke 200ms ease-in, stroke-width 200ms ease-in',
|
|
128
|
-
'&:hover': {
|
|
129
|
-
strokeWidth: 6,
|
|
130
|
-
stroke: _renderUi.color.defaults.PRIMARY_DARK
|
|
131
|
-
}
|
|
132
|
-
},
|
|
133
|
-
disabled: applyStyle(_styles2.disabled),
|
|
134
|
-
disabledSecondary: applyStyle(_styles2.disabledSecondary),
|
|
135
|
-
correct: applyStyle(_styles2.correct),
|
|
136
|
-
incorrect: applyStyle(_styles2.incorrect),
|
|
137
|
-
missing: applyStyle(_styles2.missing)
|
|
138
|
-
};
|
|
139
|
-
};
|
|
140
|
-
|
|
141
|
-
var BgCircle = (0, _styles.withStyles)(styles)(RawCircle);
|
|
142
|
-
exports.BgCircle = BgCircle;
|
|
143
|
-
|
|
144
|
-
var _default = (0, _plot.gridDraggable)({
|
|
145
|
-
bounds: function bounds(props, _ref) {
|
|
146
|
-
var domain = _ref.domain,
|
|
147
|
-
range = _ref.range;
|
|
148
|
-
var x = props.x,
|
|
149
|
-
y = props.y;
|
|
150
|
-
var area = {
|
|
151
|
-
left: x,
|
|
152
|
-
top: y,
|
|
153
|
-
bottom: y,
|
|
154
|
-
right: x
|
|
155
|
-
};
|
|
156
|
-
return utils.bounds(area, domain, range);
|
|
157
|
-
},
|
|
158
|
-
anchorPoint: function anchorPoint(props) {
|
|
159
|
-
var x = props.x,
|
|
160
|
-
y = props.y;
|
|
161
|
-
return {
|
|
162
|
-
x: x,
|
|
163
|
-
y: y
|
|
164
|
-
};
|
|
165
|
-
},
|
|
166
|
-
fromDelta: function fromDelta(props, delta) {
|
|
167
|
-
var newPoint = utils.point(props).add(utils.point(delta));
|
|
168
|
-
return newPoint;
|
|
169
|
-
}
|
|
170
|
-
})(BgCircle);
|
|
171
|
-
|
|
172
|
-
exports["default"] = _default;
|
|
173
|
-
//# sourceMappingURL=bg-circle.js.map
|
|
@@ -1 +0,0 @@
|
|
|
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","disabledSecondary","React","Component","PropTypes","object","isRequired","string","bool","number","types","GraphPropsType","applyStyle","fn","strokeWidth","styles","fill","stroke","color","defaults","BLACK","transition","PRIMARY_DARK","correct","incorrect","missing","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, disabledSecondary, correct, incorrect, missing } 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 { classes, disabled, className, correctness, x, y, radius, graphProps, ...rest } = 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(classes.bgCircle, disabled && classes.disabledSecondary, classes[correctness], className)}\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.defaults.BLACK,\n strokeWidth: 3,\n transition: 'stroke 200ms ease-in, stroke-width 200ms ease-in',\n '&:hover': {\n strokeWidth: 6,\n stroke: color.defaults.PRIMARY_DARK,\n },\n },\n disabled: applyStyle(disabled),\n disabledSecondary: applyStyle(disabledSecondary),\n correct: applyStyle(correct),\n incorrect: applyStyle(incorrect),\n missing: applyStyle(missing),\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,406 +0,0 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
|
|
3
|
-
var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
|
|
4
|
-
|
|
5
|
-
Object.defineProperty(exports, "__esModule", {
|
|
6
|
-
value: true
|
|
7
|
-
});
|
|
8
|
-
exports["default"] = exports.RawBaseCircle = exports.BaseCircle = void 0;
|
|
9
|
-
|
|
10
|
-
var _extends2 = _interopRequireDefault(require("@babel/runtime/helpers/extends"));
|
|
11
|
-
|
|
12
|
-
var _classCallCheck2 = _interopRequireDefault(require("@babel/runtime/helpers/classCallCheck"));
|
|
13
|
-
|
|
14
|
-
var _createClass2 = _interopRequireDefault(require("@babel/runtime/helpers/createClass"));
|
|
15
|
-
|
|
16
|
-
var _assertThisInitialized2 = _interopRequireDefault(require("@babel/runtime/helpers/assertThisInitialized"));
|
|
17
|
-
|
|
18
|
-
var _inherits2 = _interopRequireDefault(require("@babel/runtime/helpers/inherits"));
|
|
19
|
-
|
|
20
|
-
var _possibleConstructorReturn2 = _interopRequireDefault(require("@babel/runtime/helpers/possibleConstructorReturn"));
|
|
21
|
-
|
|
22
|
-
var _getPrototypeOf2 = _interopRequireDefault(require("@babel/runtime/helpers/getPrototypeOf"));
|
|
23
|
-
|
|
24
|
-
var _defineProperty2 = _interopRequireDefault(require("@babel/runtime/helpers/defineProperty"));
|
|
25
|
-
|
|
26
|
-
var _react = _interopRequireDefault(require("react"));
|
|
27
|
-
|
|
28
|
-
var _propTypes = _interopRequireDefault(require("prop-types"));
|
|
29
|
-
|
|
30
|
-
var _styles = require("@material-ui/core/styles");
|
|
31
|
-
|
|
32
|
-
var _point = require("../shared/point");
|
|
33
|
-
|
|
34
|
-
var _bgCircle = _interopRequireDefault(require("./bg-circle"));
|
|
35
|
-
|
|
36
|
-
var _utils = require("../../utils");
|
|
37
|
-
|
|
38
|
-
var _classnames = _interopRequireDefault(require("classnames"));
|
|
39
|
-
|
|
40
|
-
var _plot = require("@pie-lib/plot");
|
|
41
|
-
|
|
42
|
-
var _withRootEdge = require("../shared/line/with-root-edge");
|
|
43
|
-
|
|
44
|
-
var _reactDom = _interopRequireDefault(require("react-dom"));
|
|
45
|
-
|
|
46
|
-
var _markLabel = _interopRequireDefault(require("../../mark-label"));
|
|
47
|
-
|
|
48
|
-
var _isEmpty = _interopRequireDefault(require("lodash/isEmpty"));
|
|
49
|
-
|
|
50
|
-
var _renderUi = require("@pie-lib/render-ui");
|
|
51
|
-
|
|
52
|
-
function ownKeys(object, enumerableOnly) { var keys = Object.keys(object); if (Object.getOwnPropertySymbols) { var symbols = Object.getOwnPropertySymbols(object); enumerableOnly && (symbols = symbols.filter(function (sym) { return Object.getOwnPropertyDescriptor(object, sym).enumerable; })), keys.push.apply(keys, symbols); } return keys; }
|
|
53
|
-
|
|
54
|
-
function _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = null != arguments[i] ? arguments[i] : {}; i % 2 ? ownKeys(Object(source), !0).forEach(function (key) { (0, _defineProperty2["default"])(target, key, source[key]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)) : ownKeys(Object(source)).forEach(function (key) { Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key)); }); } return target; }
|
|
55
|
-
|
|
56
|
-
function _createSuper(Derived) { var hasNativeReflectConstruct = _isNativeReflectConstruct(); return function _createSuperInternal() { var Super = (0, _getPrototypeOf2["default"])(Derived), result; if (hasNativeReflectConstruct) { var NewTarget = (0, _getPrototypeOf2["default"])(this).constructor; result = Reflect.construct(Super, arguments, NewTarget); } else { result = Super.apply(this, arguments); } return (0, _possibleConstructorReturn2["default"])(this, result); }; }
|
|
57
|
-
|
|
58
|
-
function _isNativeReflectConstruct() { if (typeof Reflect === "undefined" || !Reflect.construct) return false; if (Reflect.construct.sham) return false; if (typeof Proxy === "function") return true; try { Boolean.prototype.valueOf.call(Reflect.construct(Boolean, [], function () {})); return true; } catch (e) { return false; } }
|
|
59
|
-
|
|
60
|
-
var opacityPulsate = function opacityPulsate(opacity) {
|
|
61
|
-
return {
|
|
62
|
-
'0%': {
|
|
63
|
-
opacity: '0.0'
|
|
64
|
-
},
|
|
65
|
-
'50%': {
|
|
66
|
-
opacity: opacity
|
|
67
|
-
},
|
|
68
|
-
'100%': {
|
|
69
|
-
opacity: '0.0'
|
|
70
|
-
}
|
|
71
|
-
};
|
|
72
|
-
};
|
|
73
|
-
|
|
74
|
-
var getRadius = function getRadius(from, outer) {
|
|
75
|
-
var c = (0, _utils.point)(from);
|
|
76
|
-
return c.dist((0, _utils.point)(outer));
|
|
77
|
-
};
|
|
78
|
-
|
|
79
|
-
var RawBaseCircle = /*#__PURE__*/function (_React$Component) {
|
|
80
|
-
(0, _inherits2["default"])(RawBaseCircle, _React$Component);
|
|
81
|
-
|
|
82
|
-
var _super = _createSuper(RawBaseCircle);
|
|
83
|
-
|
|
84
|
-
function RawBaseCircle() {
|
|
85
|
-
var _this;
|
|
86
|
-
|
|
87
|
-
(0, _classCallCheck2["default"])(this, RawBaseCircle);
|
|
88
|
-
|
|
89
|
-
for (var _len = arguments.length, args = new Array(_len), _key = 0; _key < _len; _key++) {
|
|
90
|
-
args[_key] = arguments[_key];
|
|
91
|
-
}
|
|
92
|
-
|
|
93
|
-
_this = _super.call.apply(_super, [this].concat(args));
|
|
94
|
-
(0, _defineProperty2["default"])((0, _assertThisInitialized2["default"])(_this), "onChangePoint", function (point) {
|
|
95
|
-
var _this$props = _this.props,
|
|
96
|
-
middle = _this$props.middle,
|
|
97
|
-
onChange = _this$props.onChange;
|
|
98
|
-
var from = point.from,
|
|
99
|
-
to = point.to; // because point.from.label and point.to.label can be different
|
|
100
|
-
|
|
101
|
-
if (!(0, _utils.equalPoints)(from, to)) {
|
|
102
|
-
if (middle) {
|
|
103
|
-
point.middle = _objectSpread(_objectSpread({}, middle), (0, _utils.getMiddleOfTwoPoints)(from, to));
|
|
104
|
-
}
|
|
105
|
-
|
|
106
|
-
onChange(point);
|
|
107
|
-
}
|
|
108
|
-
});
|
|
109
|
-
(0, _defineProperty2["default"])((0, _assertThisInitialized2["default"])(_this), "dragFrom", function (draggedFrom) {
|
|
110
|
-
var _this$props2 = _this.props,
|
|
111
|
-
from = _this$props2.from,
|
|
112
|
-
to = _this$props2.to;
|
|
113
|
-
|
|
114
|
-
if (from.label) {
|
|
115
|
-
draggedFrom.label = from.label;
|
|
116
|
-
}
|
|
117
|
-
|
|
118
|
-
if (!(0, _utils.equalPoints)(draggedFrom, to)) {
|
|
119
|
-
_this.onChangePoint({
|
|
120
|
-
from: draggedFrom,
|
|
121
|
-
to: to
|
|
122
|
-
});
|
|
123
|
-
}
|
|
124
|
-
});
|
|
125
|
-
(0, _defineProperty2["default"])((0, _assertThisInitialized2["default"])(_this), "dragTo", function (draggedTo) {
|
|
126
|
-
var _this$props3 = _this.props,
|
|
127
|
-
from = _this$props3.from,
|
|
128
|
-
to = _this$props3.to;
|
|
129
|
-
|
|
130
|
-
if (to.label) {
|
|
131
|
-
draggedTo.label = to.label;
|
|
132
|
-
}
|
|
133
|
-
|
|
134
|
-
if (!(0, _utils.equalPoints)(from, draggedTo)) {
|
|
135
|
-
_this.onChangePoint({
|
|
136
|
-
from: from,
|
|
137
|
-
to: draggedTo
|
|
138
|
-
});
|
|
139
|
-
}
|
|
140
|
-
});
|
|
141
|
-
(0, _defineProperty2["default"])((0, _assertThisInitialized2["default"])(_this), "dragCircle", function (draggedFrom) {
|
|
142
|
-
var _this$props4 = _this.props,
|
|
143
|
-
from = _this$props4.from,
|
|
144
|
-
to = _this$props4.to,
|
|
145
|
-
onChange = _this$props4.onChange,
|
|
146
|
-
middle = _this$props4.middle;
|
|
147
|
-
var diff = (0, _utils.point)(from).sub((0, _utils.point)(draggedFrom));
|
|
148
|
-
var draggedTo = (0, _utils.point)(to).sub(diff);
|
|
149
|
-
|
|
150
|
-
if (from.label) {
|
|
151
|
-
draggedFrom.label = from.label;
|
|
152
|
-
}
|
|
153
|
-
|
|
154
|
-
if (to.label) {
|
|
155
|
-
draggedTo.label = to.label;
|
|
156
|
-
}
|
|
157
|
-
|
|
158
|
-
var updated = {
|
|
159
|
-
from: draggedFrom,
|
|
160
|
-
to: draggedTo
|
|
161
|
-
};
|
|
162
|
-
|
|
163
|
-
if (middle) {
|
|
164
|
-
updated.middle = _objectSpread(_objectSpread({}, middle), (0, _utils.getMiddleOfTwoPoints)(draggedFrom, draggedTo));
|
|
165
|
-
}
|
|
166
|
-
|
|
167
|
-
_this.setState({
|
|
168
|
-
draggedroot: undefined,
|
|
169
|
-
draggedOuter: undefined,
|
|
170
|
-
isCircleDrag: false
|
|
171
|
-
}, function () {
|
|
172
|
-
onChange(updated);
|
|
173
|
-
});
|
|
174
|
-
});
|
|
175
|
-
(0, _defineProperty2["default"])((0, _assertThisInitialized2["default"])(_this), "labelChange", function (point, type) {
|
|
176
|
-
var changeMarkProps = _this.props.changeMarkProps;
|
|
177
|
-
|
|
178
|
-
var update = _objectSpread({}, point);
|
|
179
|
-
|
|
180
|
-
if (!point.label || (0, _isEmpty["default"])(point.label)) {
|
|
181
|
-
delete update.label;
|
|
182
|
-
}
|
|
183
|
-
|
|
184
|
-
changeMarkProps((0, _defineProperty2["default"])({}, type, update));
|
|
185
|
-
});
|
|
186
|
-
(0, _defineProperty2["default"])((0, _assertThisInitialized2["default"])(_this), "clickPoint", function (point, type, data) {
|
|
187
|
-
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
|
-
|
|
196
|
-
if (!labelModeEnabled) {
|
|
197
|
-
onClick(point || data);
|
|
198
|
-
return;
|
|
199
|
-
}
|
|
200
|
-
|
|
201
|
-
if (disabled) {
|
|
202
|
-
return;
|
|
203
|
-
} // limit labeling the points of the circle
|
|
204
|
-
|
|
205
|
-
|
|
206
|
-
if (limitLabeling) {
|
|
207
|
-
return;
|
|
208
|
-
}
|
|
209
|
-
|
|
210
|
-
if (type === 'middle' && !point && from && to) {
|
|
211
|
-
point = _objectSpread(_objectSpread({}, point), (0, _utils.getMiddleOfTwoPoints)(from, to));
|
|
212
|
-
}
|
|
213
|
-
|
|
214
|
-
changeMarkProps((0, _defineProperty2["default"])({
|
|
215
|
-
from: from,
|
|
216
|
-
to: to
|
|
217
|
-
}, type, _objectSpread({
|
|
218
|
-
label: ''
|
|
219
|
-
}, point)));
|
|
220
|
-
|
|
221
|
-
if (_this.input[type]) {
|
|
222
|
-
_this.input[type].focus();
|
|
223
|
-
}
|
|
224
|
-
});
|
|
225
|
-
(0, _defineProperty2["default"])((0, _assertThisInitialized2["default"])(_this), "input", {});
|
|
226
|
-
return _this;
|
|
227
|
-
}
|
|
228
|
-
|
|
229
|
-
(0, _createClass2["default"])(RawBaseCircle, [{
|
|
230
|
-
key: "render",
|
|
231
|
-
value: function render() {
|
|
232
|
-
var _this2 = this;
|
|
233
|
-
|
|
234
|
-
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;
|
|
249
|
-
var common = {
|
|
250
|
-
onDragStart: onDragStart,
|
|
251
|
-
onDragStop: onDragStop,
|
|
252
|
-
graphProps: graphProps,
|
|
253
|
-
onClick: onClick
|
|
254
|
-
};
|
|
255
|
-
to = to || from;
|
|
256
|
-
var radius = getRadius(from, to);
|
|
257
|
-
var fromLabelNode = null;
|
|
258
|
-
var toLabelNode = null;
|
|
259
|
-
var circleLabelNode = null;
|
|
260
|
-
|
|
261
|
-
if (labelNode) {
|
|
262
|
-
if (from && from.hasOwnProperty('label')) {
|
|
263
|
-
fromLabelNode = /*#__PURE__*/_reactDom["default"].createPortal( /*#__PURE__*/_react["default"].createElement(_markLabel["default"], {
|
|
264
|
-
inputRef: function inputRef(r) {
|
|
265
|
-
return _this2.input.from = r;
|
|
266
|
-
},
|
|
267
|
-
disabled: !labelModeEnabled,
|
|
268
|
-
mark: from,
|
|
269
|
-
graphProps: graphProps,
|
|
270
|
-
onChange: function onChange(label) {
|
|
271
|
-
return _this2.labelChange(_objectSpread(_objectSpread({}, from), {}, {
|
|
272
|
-
label: label
|
|
273
|
-
}), 'from');
|
|
274
|
-
}
|
|
275
|
-
}), labelNode);
|
|
276
|
-
}
|
|
277
|
-
|
|
278
|
-
if (to && to.hasOwnProperty('label')) {
|
|
279
|
-
toLabelNode = /*#__PURE__*/_reactDom["default"].createPortal( /*#__PURE__*/_react["default"].createElement(_markLabel["default"], {
|
|
280
|
-
inputRef: function inputRef(r) {
|
|
281
|
-
return _this2.input.to = r;
|
|
282
|
-
},
|
|
283
|
-
disabled: !labelModeEnabled,
|
|
284
|
-
mark: to,
|
|
285
|
-
graphProps: graphProps,
|
|
286
|
-
onChange: function onChange(label) {
|
|
287
|
-
return _this2.labelChange(_objectSpread(_objectSpread({}, to), {}, {
|
|
288
|
-
label: label
|
|
289
|
-
}), 'to');
|
|
290
|
-
}
|
|
291
|
-
}), labelNode);
|
|
292
|
-
}
|
|
293
|
-
|
|
294
|
-
if (middle && middle.hasOwnProperty('label')) {
|
|
295
|
-
circleLabelNode = /*#__PURE__*/_reactDom["default"].createPortal( /*#__PURE__*/_react["default"].createElement(_markLabel["default"], {
|
|
296
|
-
inputRef: function inputRef(r) {
|
|
297
|
-
return _this2.input.middle = r;
|
|
298
|
-
},
|
|
299
|
-
disabled: !labelModeEnabled,
|
|
300
|
-
mark: middle,
|
|
301
|
-
graphProps: graphProps,
|
|
302
|
-
onChange: function onChange(label) {
|
|
303
|
-
return _this2.labelChange(_objectSpread(_objectSpread({}, middle), {}, {
|
|
304
|
-
label: label
|
|
305
|
-
}), 'middle');
|
|
306
|
-
}
|
|
307
|
-
}), labelNode);
|
|
308
|
-
}
|
|
309
|
-
}
|
|
310
|
-
|
|
311
|
-
return /*#__PURE__*/_react["default"].createElement("g", null, /*#__PURE__*/_react["default"].createElement(_bgCircle["default"], (0, _extends2["default"])({
|
|
312
|
-
disabled: building || disabled,
|
|
313
|
-
correctness: correctness,
|
|
314
|
-
className: (0, _classnames["default"])(building && classes.bgCircleBuilding),
|
|
315
|
-
x: from.x,
|
|
316
|
-
y: from.y,
|
|
317
|
-
radius: radius,
|
|
318
|
-
onDrag: this.dragCircle
|
|
319
|
-
}, common, {
|
|
320
|
-
onClick: function onClick(data) {
|
|
321
|
-
return _this2.clickPoint(middle, 'middle', data);
|
|
322
|
-
}
|
|
323
|
-
})), circleLabelNode, /*#__PURE__*/_react["default"].createElement(_point.BasePoint, (0, _extends2["default"])({
|
|
324
|
-
disabled: building || disabled,
|
|
325
|
-
coordinatesOnHover: coordinatesOnHover,
|
|
326
|
-
correctness: correctness,
|
|
327
|
-
labelNode: labelNode,
|
|
328
|
-
x: to.x,
|
|
329
|
-
y: to.y,
|
|
330
|
-
onDrag: this.dragTo
|
|
331
|
-
}, common, {
|
|
332
|
-
onClick: function onClick(data) {
|
|
333
|
-
return _this2.clickPoint(to, 'to', data);
|
|
334
|
-
}
|
|
335
|
-
})), toLabelNode, /*#__PURE__*/_react["default"].createElement(_point.BasePoint, (0, _extends2["default"])({
|
|
336
|
-
disabled: building || disabled,
|
|
337
|
-
coordinatesOnHover: coordinatesOnHover,
|
|
338
|
-
correctness: correctness,
|
|
339
|
-
labelNode: labelNode,
|
|
340
|
-
x: from.x,
|
|
341
|
-
y: from.y,
|
|
342
|
-
className: classes.from,
|
|
343
|
-
onDrag: this.dragFrom
|
|
344
|
-
}, common, {
|
|
345
|
-
onClick: function onClick(data) {
|
|
346
|
-
return _this2.clickPoint(from, 'from', data);
|
|
347
|
-
}
|
|
348
|
-
})), fromLabelNode);
|
|
349
|
-
}
|
|
350
|
-
}]);
|
|
351
|
-
return RawBaseCircle;
|
|
352
|
-
}(_react["default"].Component);
|
|
353
|
-
|
|
354
|
-
exports.RawBaseCircle = RawBaseCircle;
|
|
355
|
-
(0, _defineProperty2["default"])(RawBaseCircle, "propTypes", {
|
|
356
|
-
building: _propTypes["default"].bool,
|
|
357
|
-
classes: _propTypes["default"].object.isRequired,
|
|
358
|
-
className: _propTypes["default"].string,
|
|
359
|
-
coordinatesOnHover: _propTypes["default"].bool,
|
|
360
|
-
correctness: _propTypes["default"].string,
|
|
361
|
-
from: _plot.types.PointType,
|
|
362
|
-
disabled: _propTypes["default"].bool,
|
|
363
|
-
to: _plot.types.PointType,
|
|
364
|
-
middle: _plot.types.PointType,
|
|
365
|
-
onChange: _propTypes["default"].func.isRequired,
|
|
366
|
-
onDragStart: _propTypes["default"].func,
|
|
367
|
-
onDragStop: _propTypes["default"].func,
|
|
368
|
-
graphProps: _plot.types.GraphPropsType.isRequired,
|
|
369
|
-
onClick: _propTypes["default"].func,
|
|
370
|
-
labelNode: _propTypes["default"].object,
|
|
371
|
-
labelModeEnabled: _propTypes["default"].bool,
|
|
372
|
-
changeMarkProps: _propTypes["default"].func,
|
|
373
|
-
limitLabeling: _propTypes["default"].bool
|
|
374
|
-
});
|
|
375
|
-
(0, _defineProperty2["default"])(RawBaseCircle, "defaultProps", {
|
|
376
|
-
onClick: function onClick() {
|
|
377
|
-
return {};
|
|
378
|
-
}
|
|
379
|
-
});
|
|
380
|
-
var BaseCircle = (0, _styles.withStyles)(function () {
|
|
381
|
-
return {
|
|
382
|
-
outerLine: {
|
|
383
|
-
fill: 'rgb(0,0,0,0)',
|
|
384
|
-
// TODO hardcoded color
|
|
385
|
-
stroke: _renderUi.color.defaults.BLACK,
|
|
386
|
-
strokeWidth: 4,
|
|
387
|
-
'&:hover': {
|
|
388
|
-
strokeWidth: 6,
|
|
389
|
-
stroke: _renderUi.color.defaults.PRIMARY_DARK
|
|
390
|
-
}
|
|
391
|
-
},
|
|
392
|
-
root: {},
|
|
393
|
-
bgCircleBuilding: {
|
|
394
|
-
stroke: _renderUi.color.defaults.BLACK,
|
|
395
|
-
animation: 'opacityPulse 2s ease-out',
|
|
396
|
-
animationIterationCount: 'infinite',
|
|
397
|
-
opacity: 1
|
|
398
|
-
},
|
|
399
|
-
'@keyframes opacityPulse': opacityPulsate('0.3')
|
|
400
|
-
};
|
|
401
|
-
})(RawBaseCircle);
|
|
402
|
-
exports.BaseCircle = BaseCircle;
|
|
403
|
-
var Component = (0, _withRootEdge.rootEdgeComponent)(BaseCircle);
|
|
404
|
-
var _default = Component;
|
|
405
|
-
exports["default"] = _default;
|
|
406
|
-
//# sourceMappingURL=component.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"sources":["../../../src/tools/circle/component.jsx"],"names":["opacityPulsate","opacity","getRadius","from","outer","c","dist","RawBaseCircle","point","props","middle","onChange","to","draggedFrom","label","onChangePoint","draggedTo","diff","sub","updated","setState","draggedroot","undefined","draggedOuter","isCircleDrag","type","changeMarkProps","update","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":";;;;;;;;;;;;;;;;;;;;;;;;;AAAA;;AACA;;AACA;;AACA;;AACA;;AACA;;AACA;;AACA;;AACA;;AACA;;AACA;;AACA;;AACA;;;;;;;;;;AAEA,IAAMA,cAAc,GAAG,SAAjBA,cAAiB,CAACC,OAAD;AAAA,SAAc;AACnC,UAAM;AAAEA,MAAAA,OAAO,EAAE;AAAX,KAD6B;AAEnC,WAAO;AAAEA,MAAAA,OAAO,EAAPA;AAAF,KAF4B;AAGnC,YAAQ;AAAEA,MAAAA,OAAO,EAAE;AAAX;AAH2B,GAAd;AAAA,CAAvB;;AAMA,IAAMC,SAAS,GAAG,SAAZA,SAAY,CAACC,IAAD,EAAOC,KAAP,EAAiB;AACjC,MAAMC,CAAC,GAAG,kBAAMF,IAAN,CAAV;AACA,SAAOE,CAAC,CAACC,IAAF,CAAO,kBAAMF,KAAN,CAAP,CAAP;AACD,CAHD;;IAKaG,a;;;;;;;;;;;;;;;sGA0BK,UAACC,KAAD,EAAW;AACzB,wBAA6B,MAAKC,KAAlC;AAAA,UAAQC,MAAR,eAAQA,MAAR;AAAA,UAAgBC,QAAhB,eAAgBA,QAAhB;AACA,UAAQR,IAAR,GAAqBK,KAArB,CAAQL,IAAR;AAAA,UAAcS,EAAd,GAAqBJ,KAArB,CAAcI,EAAd,CAFyB,CAIzB;;AACA,UAAI,CAAC,wBAAYT,IAAZ,EAAkBS,EAAlB,CAAL,EAA4B;AAC1B,YAAIF,MAAJ,EAAY;AACVF,UAAAA,KAAK,CAACE,MAAN,mCAAoBA,MAApB,GAA+B,iCAAqBP,IAArB,EAA2BS,EAA3B,CAA/B;AACD;;AAEDD,QAAAA,QAAQ,CAACH,KAAD,CAAR;AACD;AACF,K;iGAEU,UAACK,WAAD,EAAiB;AAC1B,yBAAqB,MAAKJ,KAA1B;AAAA,UAAQN,IAAR,gBAAQA,IAAR;AAAA,UAAcS,EAAd,gBAAcA,EAAd;;AAEA,UAAIT,IAAI,CAACW,KAAT,EAAgB;AACdD,QAAAA,WAAW,CAACC,KAAZ,GAAoBX,IAAI,CAACW,KAAzB;AACD;;AAED,UAAI,CAAC,wBAAYD,WAAZ,EAAyBD,EAAzB,CAAL,EAAmC;AACjC,cAAKG,aAAL,CAAmB;AAAEZ,UAAAA,IAAI,EAAEU,WAAR;AAAqBD,UAAAA,EAAE,EAAFA;AAArB,SAAnB;AACD;AACF,K;+FAEQ,UAACI,SAAD,EAAe;AACtB,yBAAqB,MAAKP,KAA1B;AAAA,UAAQN,IAAR,gBAAQA,IAAR;AAAA,UAAcS,EAAd,gBAAcA,EAAd;;AAEA,UAAIA,EAAE,CAACE,KAAP,EAAc;AACZE,QAAAA,SAAS,CAACF,KAAV,GAAkBF,EAAE,CAACE,KAArB;AACD;;AAED,UAAI,CAAC,wBAAYX,IAAZ,EAAkBa,SAAlB,CAAL,EAAmC;AACjC,cAAKD,aAAL,CAAmB;AAAEZ,UAAAA,IAAI,EAAJA,IAAF;AAAQS,UAAAA,EAAE,EAAEI;AAAZ,SAAnB;AACD;AACF,K;mGAEY,UAACH,WAAD,EAAiB;AAC5B,yBAAuC,MAAKJ,KAA5C;AAAA,UAAQN,IAAR,gBAAQA,IAAR;AAAA,UAAcS,EAAd,gBAAcA,EAAd;AAAA,UAAkBD,QAAlB,gBAAkBA,QAAlB;AAAA,UAA4BD,MAA5B,gBAA4BA,MAA5B;AACA,UAAMO,IAAI,GAAG,kBAAMd,IAAN,EAAYe,GAAZ,CAAgB,kBAAML,WAAN,CAAhB,CAAb;AACA,UAAMG,SAAS,GAAG,kBAAMJ,EAAN,EAAUM,GAAV,CAAcD,IAAd,CAAlB;;AAEA,UAAId,IAAI,CAACW,KAAT,EAAgB;AACdD,QAAAA,WAAW,CAACC,KAAZ,GAAoBX,IAAI,CAACW,KAAzB;AACD;;AAED,UAAIF,EAAE,CAACE,KAAP,EAAc;AACZE,QAAAA,SAAS,CAACF,KAAV,GAAkBF,EAAE,CAACE,KAArB;AACD;;AAED,UAAMK,OAAO,GAAG;AAAEhB,QAAAA,IAAI,EAAEU,WAAR;AAAqBD,QAAAA,EAAE,EAAEI;AAAzB,OAAhB;;AAEA,UAAIN,MAAJ,EAAY;AACVS,QAAAA,OAAO,CAACT,MAAR,mCAAsBA,MAAtB,GAAiC,iCAAqBG,WAArB,EAAkCG,SAAlC,CAAjC;AACD;;AAED,YAAKI,QAAL,CACE;AACEC,QAAAA,WAAW,EAAEC,SADf;AAEEC,QAAAA,YAAY,EAAED,SAFhB;AAGEE,QAAAA,YAAY,EAAE;AAHhB,OADF,EAME,YAAM;AACJb,QAAAA,QAAQ,CAACQ,OAAD,CAAR;AACD,OARH;AAUD,K;oGAEa,UAACX,KAAD,EAAQiB,IAAR,EAAiB;AAC7B,UAAQC,eAAR,GAA4B,MAAKjB,KAAjC,CAAQiB,eAAR;;AACA,UAAMC,MAAM,qBAAQnB,KAAR,CAAZ;;AAEA,UAAI,CAACA,KAAK,CAACM,KAAP,IAAgB,yBAAQN,KAAK,CAACM,KAAd,CAApB,EAA0C;AACxC,eAAOa,MAAM,CAACb,KAAd;AACD;;AAEDY,MAAAA,eAAe,sCAAID,IAAJ,EAAWE,MAAX,EAAf;AACD,K;mGAEY,UAACnB,KAAD,EAAQiB,IAAR,EAAcG,IAAd,EAAuB;AAClC,yBAA0F,MAAKnB,KAA/F;AAAA,UAAQiB,eAAR,gBAAQA,eAAR;AAAA,UAAyBG,QAAzB,gBAAyBA,QAAzB;AAAA,UAAmC1B,IAAnC,gBAAmCA,IAAnC;AAAA,UAAyCS,EAAzC,gBAAyCA,EAAzC;AAAA,UAA6CkB,gBAA7C,gBAA6CA,gBAA7C;AAAA,UAA+DC,aAA/D,gBAA+DA,aAA/D;AAAA,UAA8EC,OAA9E,gBAA8EA,OAA9E;;AACA,UAAI,CAACF,gBAAL,EAAuB;AACrBE,QAAAA,OAAO,CAACxB,KAAK,IAAIoB,IAAV,CAAP;AACA;AACD;;AAED,UAAIC,QAAJ,EAAc;AACZ;AACD,OATiC,CAWlC;;;AACA,UAAIE,aAAJ,EAAmB;AACjB;AACD;;AAED,UAAIN,IAAI,KAAK,QAAT,IAAqB,CAACjB,KAAtB,IAA+BL,IAA/B,IAAuCS,EAA3C,EAA+C;AAC7CJ,QAAAA,KAAK,mCAAQA,KAAR,GAAkB,iCAAqBL,IAArB,EAA2BS,EAA3B,CAAlB,CAAL;AACD;;AAEDc,MAAAA,eAAe;AAAGvB,QAAAA,IAAI,EAAJA,IAAH;AAASS,QAAAA,EAAE,EAAFA;AAAT,SAAca,IAAd;AAAuBX,QAAAA,KAAK,EAAE;AAA9B,SAAqCN,KAArC,GAAf;;AAEA,UAAI,MAAKyB,KAAL,CAAWR,IAAX,CAAJ,EAAsB;AACpB,cAAKQ,KAAL,CAAWR,IAAX,EAAiBS,KAAjB;AACD;AACF,K;8FAGO,E;;;;;;WAER,kBAAS;AAAA;;AACP,yBAeI,KAAKzB,KAfT;AAAA,UACEN,IADF,gBACEA,IADF;AAAA,UAEES,EAFF,gBAEEA,EAFF;AAAA,UAGEF,MAHF,gBAGEA,MAHF;AAAA,UAIEmB,QAJF,gBAIEA,QAJF;AAAA,UAKEM,OALF,gBAKEA,OALF;AAAA,UAMEC,kBANF,gBAMEA,kBANF;AAAA,UAOEC,QAPF,gBAOEA,QAPF;AAAA,UAQEC,WARF,gBAQEA,WARF;AAAA,UASEC,UATF,gBASEA,UATF;AAAA,UAUEP,OAVF,gBAUEA,OAVF;AAAA,UAWEQ,WAXF,gBAWEA,WAXF;AAAA,UAYEC,UAZF,gBAYEA,UAZF;AAAA,UAaEC,SAbF,gBAaEA,SAbF;AAAA,UAcEZ,gBAdF,gBAcEA,gBAdF;AAgBA,UAAMa,MAAM,GAAG;AAAEL,QAAAA,WAAW,EAAXA,WAAF;AAAeC,QAAAA,UAAU,EAAVA,UAAf;AAA2BE,QAAAA,UAAU,EAAVA,UAA3B;AAAuCT,QAAAA,OAAO,EAAPA;AAAvC,OAAf;AAEApB,MAAAA,EAAE,GAAGA,EAAE,IAAIT,IAAX;AAEA,UAAMyC,MAAM,GAAG1C,SAAS,CAACC,IAAD,EAAOS,EAAP,CAAxB;AAEA,UAAIiC,aAAa,GAAG,IAApB;AACA,UAAIC,WAAW,GAAG,IAAlB;AACA,UAAIC,eAAe,GAAG,IAAtB;;AAEA,UAAIL,SAAJ,EAAe;AACb,YAAIvC,IAAI,IAAIA,IAAI,CAAC6C,cAAL,CAAoB,OAApB,CAAZ,EAA0C;AACxCH,UAAAA,aAAa,gBAAGI,qBAASC,YAAT,eACd,gCAAC,qBAAD;AACE,YAAA,QAAQ,EAAE,kBAACC,CAAD;AAAA,qBAAQ,MAAI,CAAClB,KAAL,CAAW9B,IAAX,GAAkBgD,CAA1B;AAAA,aADZ;AAEE,YAAA,QAAQ,EAAE,CAACrB,gBAFb;AAGE,YAAA,IAAI,EAAE3B,IAHR;AAIE,YAAA,UAAU,EAAEsC,UAJd;AAKE,YAAA,QAAQ,EAAE,kBAAC3B,KAAD;AAAA,qBAAW,MAAI,CAACsC,WAAL,iCAAsBjD,IAAtB;AAA4BW,gBAAAA,KAAK,EAALA;AAA5B,kBAAqC,MAArC,CAAX;AAAA;AALZ,YADc,EAQd4B,SARc,CAAhB;AAUD;;AAED,YAAI9B,EAAE,IAAIA,EAAE,CAACoC,cAAH,CAAkB,OAAlB,CAAV,EAAsC;AACpCF,UAAAA,WAAW,gBAAGG,qBAASC,YAAT,eACZ,gCAAC,qBAAD;AACE,YAAA,QAAQ,EAAE,kBAACC,CAAD;AAAA,qBAAQ,MAAI,CAAClB,KAAL,CAAWrB,EAAX,GAAgBuC,CAAxB;AAAA,aADZ;AAEE,YAAA,QAAQ,EAAE,CAACrB,gBAFb;AAGE,YAAA,IAAI,EAAElB,EAHR;AAIE,YAAA,UAAU,EAAE6B,UAJd;AAKE,YAAA,QAAQ,EAAE,kBAAC3B,KAAD;AAAA,qBAAW,MAAI,CAACsC,WAAL,iCAAsBxC,EAAtB;AAA0BE,gBAAAA,KAAK,EAALA;AAA1B,kBAAmC,IAAnC,CAAX;AAAA;AALZ,YADY,EAQZ4B,SARY,CAAd;AAUD;;AAED,YAAIhC,MAAM,IAAIA,MAAM,CAACsC,cAAP,CAAsB,OAAtB,CAAd,EAA8C;AAC5CD,UAAAA,eAAe,gBAAGE,qBAASC,YAAT,eAChB,gCAAC,qBAAD;AACE,YAAA,QAAQ,EAAE,kBAACC,CAAD;AAAA,qBAAQ,MAAI,CAAClB,KAAL,CAAWvB,MAAX,GAAoByC,CAA5B;AAAA,aADZ;AAEE,YAAA,QAAQ,EAAE,CAACrB,gBAFb;AAGE,YAAA,IAAI,EAAEpB,MAHR;AAIE,YAAA,UAAU,EAAE+B,UAJd;AAKE,YAAA,QAAQ,EAAE,kBAAC3B,KAAD;AAAA,qBAAW,MAAI,CAACsC,WAAL,iCAAsB1C,MAAtB;AAA8BI,gBAAAA,KAAK,EAALA;AAA9B,kBAAuC,QAAvC,CAAX;AAAA;AALZ,YADgB,EAQhB4B,SARgB,CAAlB;AAUD;AACF;;AAED,0BACE,wDACE,gCAAC,oBAAD;AACE,QAAA,QAAQ,EAAEL,QAAQ,IAAIR,QADxB;AAEE,QAAA,WAAW,EAAEW,WAFf;AAGE,QAAA,SAAS,EAAE,4BAAWH,QAAQ,IAAIF,OAAO,CAACkB,gBAA/B,CAHb;AAIE,QAAA,CAAC,EAAElD,IAAI,CAACmD,CAJV;AAKE,QAAA,CAAC,EAAEnD,IAAI,CAACoD,CALV;AAME,QAAA,MAAM,EAAEX,MANV;AAOE,QAAA,MAAM,EAAE,KAAKY;AAPf,SAQMb,MARN;AASE,QAAA,OAAO,EAAE,iBAACf,IAAD;AAAA,iBAAU,MAAI,CAAC6B,UAAL,CAAgB/C,MAAhB,EAAwB,QAAxB,EAAkCkB,IAAlC,CAAV;AAAA;AATX,SADF,EAYGmB,eAZH,eAcE,gCAAC,gBAAD;AACE,QAAA,QAAQ,EAAEV,QAAQ,IAAIR,QADxB;AAEE,QAAA,kBAAkB,EAAEO,kBAFtB;AAGE,QAAA,WAAW,EAAEI,WAHf;AAIE,QAAA,SAAS,EAAEE,SAJb;AAKE,QAAA,CAAC,EAAE9B,EAAE,CAAC0C,CALR;AAME,QAAA,CAAC,EAAE1C,EAAE,CAAC2C,CANR;AAOE,QAAA,MAAM,EAAE,KAAKG;AAPf,SAQMf,MARN;AASE,QAAA,OAAO,EAAE,iBAACf,IAAD;AAAA,iBAAU,MAAI,CAAC6B,UAAL,CAAgB7C,EAAhB,EAAoB,IAApB,EAA0BgB,IAA1B,CAAV;AAAA;AATX,SAdF,EAyBGkB,WAzBH,eA2BE,gCAAC,gBAAD;AACE,QAAA,QAAQ,EAAET,QAAQ,IAAIR,QADxB;AAEE,QAAA,kBAAkB,EAAEO,kBAFtB;AAGE,QAAA,WAAW,EAAEI,WAHf;AAIE,QAAA,SAAS,EAAEE,SAJb;AAKE,QAAA,CAAC,EAAEvC,IAAI,CAACmD,CALV;AAME,QAAA,CAAC,EAAEnD,IAAI,CAACoD,CANV;AAOE,QAAA,SAAS,EAAEpB,OAAO,CAAChC,IAPrB;AAQE,QAAA,MAAM,EAAE,KAAKwD;AARf,SASMhB,MATN;AAUE,QAAA,OAAO,EAAE,iBAACf,IAAD;AAAA,iBAAU,MAAI,CAAC6B,UAAL,CAAgBtD,IAAhB,EAAsB,MAAtB,EAA8ByB,IAA9B,CAAV;AAAA;AAVX,SA3BF,EAuCGiB,aAvCH,CADF;AA2CD;;;EAvPgCe,kBAAMC,S;;;iCAA5BtD,a,eACQ;AACjB8B,EAAAA,QAAQ,EAAEyB,sBAAUC,IADH;AAEjB5B,EAAAA,OAAO,EAAE2B,sBAAUE,MAAV,CAAiBC,UAFT;AAGjBC,EAAAA,SAAS,EAAEJ,sBAAUK,MAHJ;AAIjB/B,EAAAA,kBAAkB,EAAE0B,sBAAUC,IAJb;AAKjBvB,EAAAA,WAAW,EAAEsB,sBAAUK,MALN;AAMjBhE,EAAAA,IAAI,EAAEiE,YAAMC,SANK;AAOjBxC,EAAAA,QAAQ,EAAEiC,sBAAUC,IAPH;AAQjBnD,EAAAA,EAAE,EAAEwD,YAAMC,SARO;AASjB3D,EAAAA,MAAM,EAAE0D,YAAMC,SATG;AAUjB1D,EAAAA,QAAQ,EAAEmD,sBAAUQ,IAAV,CAAeL,UAVR;AAWjB3B,EAAAA,WAAW,EAAEwB,sBAAUQ,IAXN;AAYjB/B,EAAAA,UAAU,EAAEuB,sBAAUQ,IAZL;AAajB7B,EAAAA,UAAU,EAAE2B,YAAMG,cAAN,CAAqBN,UAbhB;AAcjBjC,EAAAA,OAAO,EAAE8B,sBAAUQ,IAdF;AAejB5B,EAAAA,SAAS,EAAEoB,sBAAUE,MAfJ;AAgBjBlC,EAAAA,gBAAgB,EAAEgC,sBAAUC,IAhBX;AAiBjBrC,EAAAA,eAAe,EAAEoC,sBAAUQ,IAjBV;AAkBjBvC,EAAAA,aAAa,EAAE+B,sBAAUC;AAlBR,C;iCADRxD,a,kBAsBW;AACpByB,EAAAA,OAAO,EAAE;AAAA,WAAO,EAAP;AAAA;AADW,C;AAoOjB,IAAMwC,UAAU,GAAG,wBAAW;AAAA,SAAO;AAC1CC,IAAAA,SAAS,EAAE;AACTC,MAAAA,IAAI,EAAE,cADG;AACa;AACtBC,MAAAA,MAAM,EAAEC,gBAAMC,QAAN,CAAeC,KAFd;AAGTC,MAAAA,WAAW,EAAE,CAHJ;AAIT,iBAAW;AACTA,QAAAA,WAAW,EAAE,CADJ;AAETJ,QAAAA,MAAM,EAAEC,gBAAMC,QAAN,CAAeG;AAFd;AAJF,KAD+B;AAU1CC,IAAAA,IAAI,EAAE,EAVoC;AAW1C5B,IAAAA,gBAAgB,EAAE;AAChBsB,MAAAA,MAAM,EAAEC,gBAAMC,QAAN,CAAeC,KADP;AAEhBI,MAAAA,SAAS,EAAE,0BAFK;AAGhBC,MAAAA,uBAAuB,EAAE,UAHT;AAIhBlF,MAAAA,OAAO,EAAE;AAJO,KAXwB;AAiB1C,+BAA2BD,cAAc,CAAC,KAAD;AAjBC,GAAP;AAAA,CAAX,EAkBtBO,aAlBsB,CAAnB;;AAoBP,IAAMsD,SAAS,GAAG,qCAAkBW,UAAlB,CAAlB;eACeX,S","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"}
|