@pie-lib/plot 2.9.0-beta.0 → 2.9.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -1,53 +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.create = void 0;
9
-
10
- var _invariant = _interopRequireDefault(require("invariant"));
11
-
12
- var _utils = require("./utils");
13
-
14
- var _d3Scale = require("d3-scale");
15
-
16
- var createSnapMinAndMax = function createSnapMinAndMax(_ref) {
17
- var min = _ref.min,
18
- max = _ref.max,
19
- step = _ref.step;
20
- // for graphing, if step is a value with decimals, we have to calculate the min & max for the grid taking in consideration that 0 has to be exactly in the middle
21
- // for example, if min: -5 & max: 5 & step: 0.75, in order to keep 0 in the middle we have to set min: -4.5 & max: 4.5
22
- return {
23
- step: step,
24
- min: parseInt(min / step) * step,
25
- max: parseInt(max / step) * step
26
- };
27
- };
28
-
29
- var create = function create(domain, range, size, getRootNode) {
30
- (0, _invariant["default"])(domain.min < domain.max, 'domain: min must be less than max');
31
- (0, _invariant["default"])(range.min < range.max, 'range: min must be less than max');
32
- var domainMinMax = createSnapMinAndMax(domain);
33
- var rangeMinMax = createSnapMinAndMax(range);
34
- var scale = {
35
- x: (0, _d3Scale.scaleLinear)().domain([domain.min, domain.max]).range([0, size.width]),
36
- y: (0, _d3Scale.scaleLinear)().domain([range.max, range.min]).range([0, size.height])
37
- };
38
- var snap = {
39
- x: _utils.snapTo.bind(null, domainMinMax.min, domainMinMax.max, domainMinMax.step),
40
- y: _utils.snapTo.bind(null, rangeMinMax.min, rangeMinMax.max, rangeMinMax.step)
41
- };
42
- return {
43
- scale: scale,
44
- snap: snap,
45
- domain: domain,
46
- range: range,
47
- size: size,
48
- getRootNode: getRootNode
49
- };
50
- };
51
-
52
- exports.create = create;
53
- //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uL3NyYy9ncmFwaC1wcm9wcy5qcyJdLCJuYW1lcyI6WyJjcmVhdGVTbmFwTWluQW5kTWF4IiwibWluIiwibWF4Iiwic3RlcCIsInBhcnNlSW50IiwiY3JlYXRlIiwiZG9tYWluIiwicmFuZ2UiLCJzaXplIiwiZ2V0Um9vdE5vZGUiLCJkb21haW5NaW5NYXgiLCJyYW5nZU1pbk1heCIsInNjYWxlIiwieCIsIndpZHRoIiwieSIsImhlaWdodCIsInNuYXAiLCJzbmFwVG8iLCJiaW5kIl0sIm1hcHBpbmdzIjoiOzs7Ozs7Ozs7QUFBQTs7QUFDQTs7QUFDQTs7QUFFQSxJQUFNQSxtQkFBbUIsR0FBRyxTQUF0QkEsbUJBQXNCLE9BQXdCO0FBQUEsTUFBckJDLEdBQXFCLFFBQXJCQSxHQUFxQjtBQUFBLE1BQWhCQyxHQUFnQixRQUFoQkEsR0FBZ0I7QUFBQSxNQUFYQyxJQUFXLFFBQVhBLElBQVc7QUFDbEQ7QUFDQTtBQUVBLFNBQU87QUFDTEEsSUFBQUEsSUFBSSxFQUFKQSxJQURLO0FBRUxGLElBQUFBLEdBQUcsRUFBRUcsUUFBUSxDQUFDSCxHQUFHLEdBQUdFLElBQVAsQ0FBUixHQUF1QkEsSUFGdkI7QUFHTEQsSUFBQUEsR0FBRyxFQUFFRSxRQUFRLENBQUNGLEdBQUcsR0FBR0MsSUFBUCxDQUFSLEdBQXVCQTtBQUh2QixHQUFQO0FBS0QsQ0FURDs7QUFXTyxJQUFNRSxNQUFNLEdBQUcsU0FBVEEsTUFBUyxDQUFDQyxNQUFELEVBQVNDLEtBQVQsRUFBZ0JDLElBQWhCLEVBQXNCQyxXQUF0QixFQUFzQztBQUMxRCw2QkFBVUgsTUFBTSxDQUFDTCxHQUFQLEdBQWFLLE1BQU0sQ0FBQ0osR0FBOUIsRUFBbUMsbUNBQW5DO0FBQ0EsNkJBQVVLLEtBQUssQ0FBQ04sR0FBTixHQUFZTSxLQUFLLENBQUNMLEdBQTVCLEVBQWlDLGtDQUFqQztBQUVBLE1BQU1RLFlBQVksR0FBR1YsbUJBQW1CLENBQUNNLE1BQUQsQ0FBeEM7QUFDQSxNQUFNSyxXQUFXLEdBQUdYLG1CQUFtQixDQUFDTyxLQUFELENBQXZDO0FBRUEsTUFBTUssS0FBSyxHQUFHO0FBQ1pDLElBQUFBLENBQUMsRUFBRSw0QkFDQVAsTUFEQSxDQUNPLENBQUNBLE1BQU0sQ0FBQ0wsR0FBUixFQUFhSyxNQUFNLENBQUNKLEdBQXBCLENBRFAsRUFFQUssS0FGQSxDQUVNLENBQUMsQ0FBRCxFQUFJQyxJQUFJLENBQUNNLEtBQVQsQ0FGTixDQURTO0FBSVpDLElBQUFBLENBQUMsRUFBRSw0QkFDQVQsTUFEQSxDQUNPLENBQUNDLEtBQUssQ0FBQ0wsR0FBUCxFQUFZSyxLQUFLLENBQUNOLEdBQWxCLENBRFAsRUFFQU0sS0FGQSxDQUVNLENBQUMsQ0FBRCxFQUFJQyxJQUFJLENBQUNRLE1BQVQsQ0FGTjtBQUpTLEdBQWQ7QUFTQSxNQUFNQyxJQUFJLEdBQUc7QUFDWEosSUFBQUEsQ0FBQyxFQUFFSyxjQUFPQyxJQUFQLENBQVksSUFBWixFQUFrQlQsWUFBWSxDQUFDVCxHQUEvQixFQUFvQ1MsWUFBWSxDQUFDUixHQUFqRCxFQUFzRFEsWUFBWSxDQUFDUCxJQUFuRSxDQURRO0FBRVhZLElBQUFBLENBQUMsRUFBRUcsY0FBT0MsSUFBUCxDQUFZLElBQVosRUFBa0JSLFdBQVcsQ0FBQ1YsR0FBOUIsRUFBbUNVLFdBQVcsQ0FBQ1QsR0FBL0MsRUFBb0RTLFdBQVcsQ0FBQ1IsSUFBaEU7QUFGUSxHQUFiO0FBS0EsU0FBTztBQUFFUyxJQUFBQSxLQUFLLEVBQUxBLEtBQUY7QUFBU0ssSUFBQUEsSUFBSSxFQUFKQSxJQUFUO0FBQWVYLElBQUFBLE1BQU0sRUFBTkEsTUFBZjtBQUF1QkMsSUFBQUEsS0FBSyxFQUFMQSxLQUF2QjtBQUE4QkMsSUFBQUEsSUFBSSxFQUFKQSxJQUE5QjtBQUFvQ0MsSUFBQUEsV0FBVyxFQUFYQTtBQUFwQyxHQUFQO0FBQ0QsQ0F0Qk0iLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgaW52YXJpYW50IGZyb20gJ2ludmFyaWFudCc7XG5pbXBvcnQgeyBzbmFwVG8gfSBmcm9tICcuL3V0aWxzJztcbmltcG9ydCB7IHNjYWxlTGluZWFyIH0gZnJvbSAnZDMtc2NhbGUnO1xuXG5jb25zdCBjcmVhdGVTbmFwTWluQW5kTWF4ID0gKHsgbWluLCBtYXgsIHN0ZXAgfSkgPT4ge1xuICAvLyBmb3IgZ3JhcGhpbmcsIGlmIHN0ZXAgaXMgYSB2YWx1ZSB3aXRoIGRlY2ltYWxzLCB3ZSBoYXZlIHRvIGNhbGN1bGF0ZSB0aGUgbWluICYgbWF4IGZvciB0aGUgZ3JpZCB0YWtpbmcgaW4gY29uc2lkZXJhdGlvbiB0aGF0IDAgaGFzIHRvIGJlIGV4YWN0bHkgaW4gdGhlIG1pZGRsZVxuICAvLyBmb3IgZXhhbXBsZSwgaWYgbWluOiAtNSAmIG1heDogNSAmIHN0ZXA6IDAuNzUsIGluIG9yZGVyIHRvIGtlZXAgMCBpbiB0aGUgbWlkZGxlIHdlIGhhdmUgdG8gc2V0IG1pbjogLTQuNSAmIG1heDogNC41XG5cbiAgcmV0dXJuIHtcbiAgICBzdGVwLFxuICAgIG1pbjogcGFyc2VJbnQobWluIC8gc3RlcCkgKiBzdGVwLFxuICAgIG1heDogcGFyc2VJbnQobWF4IC8gc3RlcCkgKiBzdGVwLFxuICB9O1xufTtcblxuZXhwb3J0IGNvbnN0IGNyZWF0ZSA9IChkb21haW4sIHJhbmdlLCBzaXplLCBnZXRSb290Tm9kZSkgPT4ge1xuICBpbnZhcmlhbnQoZG9tYWluLm1pbiA8IGRvbWFpbi5tYXgsICdkb21haW46IG1pbiBtdXN0IGJlIGxlc3MgdGhhbiBtYXgnKTtcbiAgaW52YXJpYW50KHJhbmdlLm1pbiA8IHJhbmdlLm1heCwgJ3JhbmdlOiBtaW4gbXVzdCBiZSBsZXNzIHRoYW4gbWF4Jyk7XG5cbiAgY29uc3QgZG9tYWluTWluTWF4ID0gY3JlYXRlU25hcE1pbkFuZE1heChkb21haW4pO1xuICBjb25zdCByYW5nZU1pbk1heCA9IGNyZWF0ZVNuYXBNaW5BbmRNYXgocmFuZ2UpO1xuXG4gIGNvbnN0IHNjYWxlID0ge1xuICAgIHg6IHNjYWxlTGluZWFyKClcbiAgICAgIC5kb21haW4oW2RvbWFpbi5taW4sIGRvbWFpbi5tYXhdKVxuICAgICAgLnJhbmdlKFswLCBzaXplLndpZHRoXSksXG4gICAgeTogc2NhbGVMaW5lYXIoKVxuICAgICAgLmRvbWFpbihbcmFuZ2UubWF4LCByYW5nZS5taW5dKVxuICAgICAgLnJhbmdlKFswLCBzaXplLmhlaWdodF0pLFxuICB9O1xuXG4gIGNvbnN0IHNuYXAgPSB7XG4gICAgeDogc25hcFRvLmJpbmQobnVsbCwgZG9tYWluTWluTWF4Lm1pbiwgZG9tYWluTWluTWF4Lm1heCwgZG9tYWluTWluTWF4LnN0ZXApLFxuICAgIHk6IHNuYXBUby5iaW5kKG51bGwsIHJhbmdlTWluTWF4Lm1pbiwgcmFuZ2VNaW5NYXgubWF4LCByYW5nZU1pbk1heC5zdGVwKSxcbiAgfTtcblxuICByZXR1cm4geyBzY2FsZSwgc25hcCwgZG9tYWluLCByYW5nZSwgc2l6ZSwgZ2V0Um9vdE5vZGUgfTtcbn07XG4iXX0=
@@ -1,381 +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.gridDraggable = exports.deltaFn = 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 _slicedToArray2 = _interopRequireDefault(require("@babel/runtime/helpers/slicedToArray"));
17
-
18
- var _classCallCheck2 = _interopRequireDefault(require("@babel/runtime/helpers/classCallCheck"));
19
-
20
- var _createClass2 = _interopRequireDefault(require("@babel/runtime/helpers/createClass"));
21
-
22
- var _assertThisInitialized2 = _interopRequireDefault(require("@babel/runtime/helpers/assertThisInitialized"));
23
-
24
- var _inherits2 = _interopRequireDefault(require("@babel/runtime/helpers/inherits"));
25
-
26
- var _possibleConstructorReturn2 = _interopRequireDefault(require("@babel/runtime/helpers/possibleConstructorReturn"));
27
-
28
- var _getPrototypeOf2 = _interopRequireDefault(require("@babel/runtime/helpers/getPrototypeOf"));
29
-
30
- var _defineProperty2 = _interopRequireDefault(require("@babel/runtime/helpers/defineProperty"));
31
-
32
- var _react = _interopRequireDefault(require("react"));
33
-
34
- var _propTypes = _interopRequireDefault(require("prop-types"));
35
-
36
- var _types = require("./types");
37
-
38
- var _draggable = require("./draggable");
39
-
40
- var _debug = _interopRequireDefault(require("debug"));
41
-
42
- var utils = _interopRequireWildcard(require("./utils"));
43
-
44
- var _isFunction = _interopRequireDefault(require("lodash/isFunction"));
45
-
46
- var _invariant = _interopRequireDefault(require("invariant"));
47
-
48
- var _d3Selection = require("d3-selection");
49
-
50
- var _excluded = ["disabled"];
51
-
52
- 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); }
53
-
54
- 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; }
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 log = (0, _debug["default"])('pie-lib:plot:grid-draggable');
61
-
62
- var deltaFn = function deltaFn(scale, snap, val) {
63
- return function (delta) {
64
- var normalized = delta + scale(0);
65
- var inverted = scale.invert(normalized);
66
- var fixDecimalsArithmetic = snap(val + inverted).toFixed(4) * 1000 / 1000;
67
- return fixDecimalsArithmetic;
68
- };
69
- };
70
- /**
71
- * Creates a Component that is draggable, within a bounded grid.
72
- * @param {*} opts
73
- */
74
-
75
-
76
- exports.deltaFn = deltaFn;
77
-
78
- var gridDraggable = function gridDraggable(opts) {
79
- return function (Comp) {
80
- var _class;
81
-
82
- (0, _invariant["default"])(!!opts && (0, _isFunction["default"])(opts.fromDelta) && (0, _isFunction["default"])(opts.bounds) && (0, _isFunction["default"])(opts.anchorPoint), 'You must supply an object with: { anchorPoint: Function, fromDelta: Function, bounds: Function }');
83
- return _class = /*#__PURE__*/function (_React$Component) {
84
- (0, _inherits2["default"])(GridDraggable, _React$Component);
85
-
86
- var _super = _createSuper(GridDraggable);
87
-
88
- function GridDraggable() {
89
- var _this;
90
-
91
- (0, _classCallCheck2["default"])(this, GridDraggable);
92
-
93
- for (var _len = arguments.length, args = new Array(_len), _key = 0; _key < _len; _key++) {
94
- args[_key] = arguments[_key];
95
- }
96
-
97
- _this = _super.call.apply(_super, [this].concat(args));
98
- (0, _defineProperty2["default"])((0, _assertThisInitialized2["default"])(_this), "grid", function () {
99
- var graphProps = _this.props.graphProps;
100
- var scale = graphProps.scale,
101
- domain = graphProps.domain,
102
- range = graphProps.range;
103
- return {
104
- x: scale.x(domain.step) - scale.x(0),
105
- y: scale.y(range.step) - scale.y(0)
106
- };
107
- });
108
- (0, _defineProperty2["default"])((0, _assertThisInitialized2["default"])(_this), "onStart", function (e) {
109
- var onDragStart = _this.props.onDragStart;
110
-
111
- if (document.activeElement) {
112
- document.activeElement.blur();
113
- }
114
-
115
- _this.setState({
116
- startX: e.clientX,
117
- startY: e.clientY
118
- });
119
-
120
- if (onDragStart) {
121
- onDragStart();
122
- }
123
- });
124
- (0, _defineProperty2["default"])((0, _assertThisInitialized2["default"])(_this), "position", function () {
125
- var _opts$anchorPoint = opts.anchorPoint(_this.props),
126
- x = _opts$anchorPoint.x,
127
- y = _opts$anchorPoint.y;
128
-
129
- var graphProps = _this.props.graphProps;
130
- var scale = graphProps.scale,
131
- snap = graphProps.snap;
132
- return {
133
- anchorPoint: {
134
- x: x,
135
- y: y
136
- },
137
- x: deltaFn(scale.x, snap.x, x),
138
- y: deltaFn(scale.y, snap.y, y)
139
- };
140
- });
141
- (0, _defineProperty2["default"])((0, _assertThisInitialized2["default"])(_this), "tiny", function (key, event) {
142
- var K = key.toUpperCase();
143
- var end = event["client".concat(K)];
144
-
145
- var start = _this.state["start".concat(K)];
146
-
147
- var delta = Math.abs(end - start);
148
- var out = delta < Math.abs(_this.grid()[key]) / 10;
149
- log('[tiny] key: ', key, 'delta: ', delta, 'out: ', out);
150
- return out;
151
- });
152
- (0, _defineProperty2["default"])((0, _assertThisInitialized2["default"])(_this), "getScaledBounds", function () {
153
- var bounds = opts.bounds(_this.props, _this.props.graphProps);
154
- log('bounds: ', bounds);
155
-
156
- var grid = _this.grid();
157
-
158
- var scaled = {
159
- left: bounds.left / grid.interval * grid.x,
160
- right: bounds.right / grid.interval * grid.x,
161
- top: bounds.top / grid.interval * grid.y,
162
- bottom: bounds.bottom / grid.interval * grid.y
163
- };
164
- log('[getScaledBounds]: ', scaled);
165
- return scaled;
166
- });
167
- (0, _defineProperty2["default"])((0, _assertThisInitialized2["default"])(_this), "getClientPoint", function (node, event) {
168
- if (!node || !event) {
169
- return null;
170
- }
171
-
172
- var svg = node.ownerSVGElement || node;
173
-
174
- if (svg && svg.createSVGPoint) {
175
- var point = svg.createSVGPoint(); // Check if it's a touch event and use the first touch point
176
-
177
- if (event.touches && event.touches.length > 0) {
178
- var touch = event.touches[0];
179
- point.x = touch.clientX;
180
- point.y = touch.clientY;
181
- } else {
182
- // Fall back to mouse event properties
183
- point.x = event.clientX;
184
- point.y = event.clientY;
185
- }
186
-
187
- if (node.getScreenCTM) {
188
- point = point.matrixTransform(node.getScreenCTM().inverse());
189
- return [point.x, point.y];
190
- } else {
191
- return null;
192
- }
193
- }
194
-
195
- var rect = node.getBoundingClientRect();
196
-
197
- if (rect) {
198
- return [event.clientX - rect.left - node.clientLeft, event.clientY - rect.top - node.clientTop];
199
- } else {
200
- return null;
201
- }
202
- });
203
- (0, _defineProperty2["default"])((0, _assertThisInitialized2["default"])(_this), "skipDragOutsideOfBounds", function (dd, e, graphProps) {
204
- // Ignore drag movement outside of the domain and range.
205
- var rootNode = graphProps.getRootNode();
206
-
207
- var clientPoint = _this.getClientPoint(rootNode, e);
208
-
209
- if (clientPoint === null) {
210
- return true; // Indicate that the drag is outside of bounds
211
- }
212
-
213
- var _clientPoint = (0, _slicedToArray2["default"])(clientPoint, 2),
214
- rawX = _clientPoint[0],
215
- rawY = _clientPoint[1];
216
-
217
- var scale = graphProps.scale,
218
- domain = graphProps.domain,
219
- range = graphProps.range;
220
- var x = scale.x.invert(rawX);
221
- var y = scale.y.invert(rawY);
222
- var xOutside = dd.deltaX > 0 && x < domain.min || dd.deltaX < 0 && x > domain.max;
223
- var yOutside = dd.deltaY > 0 && y > range.max || dd.deltaY < 0 && y < range.min;
224
- return xOutside || yOutside;
225
- });
226
- (0, _defineProperty2["default"])((0, _assertThisInitialized2["default"])(_this), "onDrag", function (e, dd) {
227
- var _this$props = _this.props,
228
- onDrag = _this$props.onDrag,
229
- graphProps = _this$props.graphProps;
230
-
231
- if (!onDrag) {
232
- return;
233
- }
234
-
235
- var bounds = _this.getScaledBounds();
236
-
237
- if (dd.deltaX < 0 && dd.deltaX < bounds.left) {
238
- return;
239
- }
240
-
241
- if (dd.deltaX > 0 && dd.deltaX > bounds.right) {
242
- return;
243
- }
244
-
245
- if (dd.deltaY < 0 && dd.deltaY < bounds.top) {
246
- return;
247
- }
248
-
249
- if (dd.deltaY > 0 && dd.deltaY > bounds.bottom) {
250
- return;
251
- }
252
-
253
- if (_this.skipDragOutsideOfBounds(dd, e, graphProps)) {
254
- return;
255
- }
256
-
257
- var dragArg = _this.applyDelta({
258
- x: dd.deltaX,
259
- y: dd.deltaY
260
- });
261
-
262
- if (dragArg !== undefined || dragArg !== null) {
263
- onDrag(dragArg);
264
- }
265
- });
266
- (0, _defineProperty2["default"])((0, _assertThisInitialized2["default"])(_this), "getDelta", function (point) {
267
- var pos = _this.position();
268
-
269
- var p = {
270
- x: pos.x(point.x),
271
- y: pos.y(point.y)
272
- };
273
- return utils.getDelta(pos.anchorPoint, p);
274
- });
275
- (0, _defineProperty2["default"])((0, _assertThisInitialized2["default"])(_this), "applyDelta", function (point) {
276
- var delta = _this.getDelta(point);
277
-
278
- log('[applyDelta] delta:', delta);
279
- return opts.fromDelta(_this.props, delta);
280
- });
281
- (0, _defineProperty2["default"])((0, _assertThisInitialized2["default"])(_this), "onStop", function (e, dd) {
282
- log('[onStop] dd:', dd);
283
- var _this$props2 = _this.props,
284
- onDragStop = _this$props2.onDragStop,
285
- onClick = _this$props2.onClick;
286
-
287
- if (onDragStop) {
288
- onDragStop();
289
- }
290
-
291
- log('[onStop] lastX/Y: ', dd.lastX, dd.lastY);
292
-
293
- var isClick = _this.tiny('x', e) && _this.tiny('y', e);
294
-
295
- if (isClick) {
296
- if (onClick) {
297
- log('call onClick');
298
-
299
- _this.setState({
300
- startX: null
301
- });
302
-
303
- var graphProps = _this.props.graphProps;
304
- var scale = graphProps.scale,
305
- snap = graphProps.snap;
306
-
307
- var _clientPoint2 = (0, _d3Selection.clientPoint)(e.target, e),
308
- _clientPoint3 = (0, _slicedToArray2["default"])(_clientPoint2, 2),
309
- rawX = _clientPoint3[0],
310
- rawY = _clientPoint3[1];
311
-
312
- var x = scale.x.invert(rawX);
313
- var y = scale.y.invert(rawY);
314
- x = snap.x(x);
315
- y = snap.y(y);
316
- onClick({
317
- x: x,
318
- y: y
319
- });
320
- return false;
321
- }
322
- }
323
-
324
- _this.setState({
325
- startX: null,
326
- startY: null
327
- }); // return false to prevent state updates in the underlying draggable - a move will have triggered an update already.
328
-
329
-
330
- return false;
331
- });
332
- return _this;
333
- }
334
-
335
- (0, _createClass2["default"])(GridDraggable, [{
336
- key: "render",
337
- value: function render() {
338
- var _this$props3 = this.props,
339
- disabled = _this$props3.disabled,
340
- rest = (0, _objectWithoutProperties2["default"])(_this$props3, _excluded);
341
- var grid = this.grid(); // prevent the text select icon from rendering.
342
-
343
- var onMouseDown = function onMouseDown(e) {
344
- return e.nativeEvent.preventDefault();
345
- };
346
- /**
347
- * TODO: This shouldnt be necessary, we should be able to use the r-d classnames.
348
- * But they aren't being unset. If we continue with this lib, we'll have to fix this.
349
- */
350
-
351
-
352
- var isDragging = this.state ? !!this.state.startX : false;
353
- return /*#__PURE__*/_react["default"].createElement(_draggable.DraggableCore, {
354
- disabled: disabled,
355
- onMouseDown: onMouseDown,
356
- onStart: this.onStart,
357
- onDrag: this.onDrag,
358
- onStop: this.onStop,
359
- axis: opts.axis || 'both',
360
- grid: [grid.x, grid.y]
361
- }, /*#__PURE__*/_react["default"].createElement(Comp, (0, _extends2["default"])({}, rest, {
362
- disabled: disabled,
363
- isDragging: isDragging
364
- })));
365
- }
366
- }]);
367
- return GridDraggable;
368
- }(_react["default"].Component), (0, _defineProperty2["default"])(_class, "propTypes", {
369
- disabled: _propTypes["default"].bool,
370
- onDragStart: _propTypes["default"].func,
371
- onDrag: _propTypes["default"].func,
372
- onDragStop: _propTypes["default"].func,
373
- onClick: _propTypes["default"].func,
374
- onMove: _propTypes["default"].func,
375
- graphProps: _types.GraphPropsType.isRequired
376
- }), _class;
377
- };
378
- };
379
-
380
- exports.gridDraggable = gridDraggable;
381
- //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uL3NyYy9ncmlkLWRyYWdnYWJsZS5qc3giXSwibmFtZXMiOlsibG9nIiwiZGVsdGFGbiIsInNjYWxlIiwic25hcCIsInZhbCIsImRlbHRhIiwibm9ybWFsaXplZCIsImludmVydGVkIiwiaW52ZXJ0IiwiZml4RGVjaW1hbHNBcml0aG1ldGljIiwidG9GaXhlZCIsImdyaWREcmFnZ2FibGUiLCJvcHRzIiwiQ29tcCIsImZyb21EZWx0YSIsImJvdW5kcyIsImFuY2hvclBvaW50IiwiZ3JhcGhQcm9wcyIsInByb3BzIiwiZG9tYWluIiwicmFuZ2UiLCJ4Iiwic3RlcCIsInkiLCJlIiwib25EcmFnU3RhcnQiLCJkb2N1bWVudCIsImFjdGl2ZUVsZW1lbnQiLCJibHVyIiwic2V0U3RhdGUiLCJzdGFydFgiLCJjbGllbnRYIiwic3RhcnRZIiwiY2xpZW50WSIsImtleSIsImV2ZW50IiwiSyIsInRvVXBwZXJDYXNlIiwiZW5kIiwic3RhcnQiLCJzdGF0ZSIsIk1hdGgiLCJhYnMiLCJvdXQiLCJncmlkIiwic2NhbGVkIiwibGVmdCIsImludGVydmFsIiwicmlnaHQiLCJ0b3AiLCJib3R0b20iLCJub2RlIiwic3ZnIiwib3duZXJTVkdFbGVtZW50IiwiY3JlYXRlU1ZHUG9pbnQiLCJwb2ludCIsInRvdWNoZXMiLCJsZW5ndGgiLCJ0b3VjaCIsImdldFNjcmVlbkNUTSIsIm1hdHJpeFRyYW5zZm9ybSIsImludmVyc2UiLCJyZWN0IiwiZ2V0Qm91bmRpbmdDbGllbnRSZWN0IiwiY2xpZW50TGVmdCIsImNsaWVudFRvcCIsImRkIiwicm9vdE5vZGUiLCJnZXRSb290Tm9kZSIsImNsaWVudFBvaW50IiwiZ2V0Q2xpZW50UG9pbnQiLCJyYXdYIiwicmF3WSIsInhPdXRzaWRlIiwiZGVsdGFYIiwibWluIiwibWF4IiwieU91dHNpZGUiLCJkZWx0YVkiLCJvbkRyYWciLCJnZXRTY2FsZWRCb3VuZHMiLCJza2lwRHJhZ091dHNpZGVPZkJvdW5kcyIsImRyYWdBcmciLCJhcHBseURlbHRhIiwidW5kZWZpbmVkIiwicG9zIiwicG9zaXRpb24iLCJwIiwidXRpbHMiLCJnZXREZWx0YSIsIm9uRHJhZ1N0b3AiLCJvbkNsaWNrIiwibGFzdFgiLCJsYXN0WSIsImlzQ2xpY2siLCJ0aW55IiwidGFyZ2V0IiwiZGlzYWJsZWQiLCJyZXN0Iiwib25Nb3VzZURvd24iLCJuYXRpdmVFdmVudCIsInByZXZlbnREZWZhdWx0IiwiaXNEcmFnZ2luZyIsIm9uU3RhcnQiLCJvblN0b3AiLCJheGlzIiwiUmVhY3QiLCJDb21wb25lbnQiLCJQcm9wVHlwZXMiLCJib29sIiwiZnVuYyIsIm9uTW92ZSIsIkdyYXBoUHJvcHNUeXBlIiwiaXNSZXF1aXJlZCJdLCJtYXBwaW5ncyI6Ijs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7OztBQUFBOztBQUNBOztBQUNBOztBQUNBOztBQUNBOztBQUNBOztBQUNBOztBQUNBOztBQUNBOzs7Ozs7Ozs7Ozs7QUFFQSxJQUFNQSxHQUFHLEdBQUcsdUJBQU0sNkJBQU4sQ0FBWjs7QUFFTyxJQUFNQyxPQUFPLEdBQUcsU0FBVkEsT0FBVSxDQUFDQyxLQUFELEVBQVFDLElBQVIsRUFBY0MsR0FBZDtBQUFBLFNBQXNCLFVBQUNDLEtBQUQsRUFBVztBQUN0RCxRQUFNQyxVQUFVLEdBQUdELEtBQUssR0FBR0gsS0FBSyxDQUFDLENBQUQsQ0FBaEM7QUFDQSxRQUFNSyxRQUFRLEdBQUdMLEtBQUssQ0FBQ00sTUFBTixDQUFhRixVQUFiLENBQWpCO0FBRUEsUUFBTUcscUJBQXFCLEdBQUlOLElBQUksQ0FBQ0MsR0FBRyxHQUFHRyxRQUFQLENBQUosQ0FBcUJHLE9BQXJCLENBQTZCLENBQTdCLElBQWtDLElBQW5DLEdBQTJDLElBQXpFO0FBRUEsV0FBT0QscUJBQVA7QUFDRCxHQVBzQjtBQUFBLENBQWhCO0FBU1A7QUFDQTtBQUNBO0FBQ0E7Ozs7O0FBQ08sSUFBTUUsYUFBYSxHQUFHLFNBQWhCQSxhQUFnQixDQUFDQyxJQUFEO0FBQUEsU0FBVSxVQUFDQyxJQUFELEVBQVU7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QVUyRSxJQUFWO0FBQWdCLFlBQUEsUUFBUSxFQUFFRCxRQUExQjtBQUFvQyxZQUFBLFVBQVUsRUFBRUs7QUFBaEQsYUFURixDQURGO0FBYUQ7QUEvT0g7QUFBQTtBQUFBLE1BQW1DSSxrQkFBTUMsU0FBekMseURBQ3FCO0FBQ2pCVixNQUFBQSxRQUFRLEVBQUVXLHNCQUFVQyxJQURIO0FBRWpCcEYsTUFBQUEsV0FBVyxFQUFFbUYsc0JBQVVFLElBRk47QUFHakIvQixNQUFBQSxNQUFNLEVBQUU2QixzQkFBVUUsSUFIRDtBQUlqQnBCLE1BQUFBLFVBQVUsRUFBRWtCLHNCQUFVRSxJQUpMO0FBS2pCbkIsTUFBQUEsT0FBTyxFQUFFaUIsc0JBQVVFLElBTEY7QUFNakJDLE1BQUFBLE1BQU0sRUFBRUgsc0JBQVVFLElBTkQ7QUFPakI3RixNQUFBQSxVQUFVLEVBQUUrRixzQkFBZUM7QUFQVixLQURyQjtBQWlQRCxHQXRQNEI7QUFBQSxDQUF0QiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCBSZWFjdCBmcm9tICdyZWFjdCc7XG5pbXBvcnQgUHJvcFR5cGVzIGZyb20gJ3Byb3AtdHlwZXMnO1xuaW1wb3J0IHsgR3JhcGhQcm9wc1R5cGUgfSBmcm9tICcuL3R5cGVzJztcbmltcG9ydCB7IERyYWdnYWJsZUNvcmUgfSBmcm9tICcuL2RyYWdnYWJsZSc7XG5pbXBvcnQgZGVidWcgZnJvbSAnZGVidWcnO1xuaW1wb3J0ICogYXMgdXRpbHMgZnJvbSAnLi91dGlscyc7XG5pbXBvcnQgaXNGdW5jdGlvbiBmcm9tICdsb2Rhc2gvaXNGdW5jdGlvbic7XG5pbXBvcnQgaW52YXJpYW50IGZyb20gJ2ludmFyaWFudCc7XG5pbXBvcnQgeyBjbGllbnRQb2ludCB9IGZyb20gJ2QzLXNlbGVjdGlvbic7XG5cbmNvbnN0IGxvZyA9IGRlYnVnKCdwaWUtbGliOnBsb3Q6Z3JpZC1kcmFnZ2FibGUnKTtcblxuZXhwb3J0IGNvbnN0IGRlbHRhRm4gPSAoc2NhbGUsIHNuYXAsIHZhbCkgPT4gKGRlbHRhKSA9PiB7XG4gIGNvbnN0IG5vcm1hbGl6ZWQgPSBkZWx0YSArIHNjYWxlKDApO1xuICBjb25zdCBpbnZlcnRlZCA9IHNjYWxlLmludmVydChub3JtYWxpemVkKTtcblxuICBjb25zdCBmaXhEZWNpbWFsc0FyaXRobWV0aWMgPSAoc25hcCh2YWwgKyBpbnZlcnRlZCkudG9GaXhlZCg0KSAqIDEwMDApIC8gMTAwMDtcblxuICByZXR1cm4gZml4RGVjaW1hbHNBcml0aG1ldGljO1xufTtcblxuLyoqXG4gKiBDcmVhdGVzIGEgQ29tcG9uZW50IHRoYXQgaXMgZHJhZ2dhYmxlLCB3aXRoaW4gYSBib3VuZGVkIGdyaWQuXG4gKiBAcGFyYW0geyp9IG9wdHNcbiAqL1xuZXhwb3J0IGNvbnN0IGdyaWREcmFnZ2FibGUgPSAob3B0cykgPT4gKENvbXApID0+IHtcbiAgaW52YXJpYW50KFxuICAgICEhb3B0cyAmJiBpc0Z1bmN0aW9uKG9wdHMuZnJvbURlbHRhKSAmJiBpc0Z1bmN0aW9uKG9wdHMuYm91bmRzKSAmJiBpc0Z1bmN0aW9uKG9wdHMuYW5jaG9yUG9pbnQpLFxuICAgICdZb3UgbXVzdCBzdXBwbHkgYW4gb2JqZWN0IHdpdGg6IHsgYW5jaG9yUG9pbnQ6IEZ1bmN0aW9uLCBmcm9tRGVsdGE6IEZ1bmN0aW9uLCBib3VuZHM6IEZ1bmN0aW9uIH0nLFxuICApO1xuICByZXR1cm4gY2xhc3MgR3JpZERyYWdnYWJsZSBleHRlbmRzIFJlYWN0LkNvbXBvbmVudCB7XG4gICAgc3RhdGljIHByb3BUeXBlcyA9IHtcbiAgICAgIGRpc2FibGVkOiBQcm9wVHlwZXMuYm9vbCxcbiAgICAgIG9uRHJhZ1N0YXJ0OiBQcm9wVHlwZXMuZnVuYyxcbiAgICAgIG9uRHJhZzogUHJvcFR5cGVzLmZ1bmMsXG4gICAgICBvbkRyYWdTdG9wOiBQcm9wVHlwZXMuZnVuYyxcbiAgICAgIG9uQ2xpY2s6IFByb3BUeXBlcy5mdW5jLFxuICAgICAgb25Nb3ZlOiBQcm9wVHlwZXMuZnVuYyxcbiAgICAgIGdyYXBoUHJvcHM6IEdyYXBoUHJvcHNUeXBlLmlzUmVxdWlyZWQsXG4gICAgfTtcbiAgICBncmlkID0gKCkgPT4ge1xuICAgICAgY29uc3QgeyBncmFwaFByb3BzIH0gPSB0aGlzLnByb3BzO1xuICAgICAgY29uc3QgeyBzY2FsZSwgZG9tYWluLCByYW5nZSB9ID0gZ3JhcGhQcm9wcztcbiAgICAgIHJldHVybiB7XG4gICAgICAgIHg6IHNjYWxlLngoZG9tYWluLnN0ZXApIC0gc2NhbGUueCgwKSxcbiAgICAgICAgeTogc2NhbGUueShyYW5nZS5zdGVwKSAtIHNjYWxlLnkoMCksXG4gICAgICB9O1xuICAgIH07XG4gICAgb25TdGFydCA9IChlKSA9PiB7XG4gICAgICBjb25zdCB7IG9uRHJhZ1N0YXJ0IH0gPSB0aGlzLnByb3BzO1xuICAgICAgaWYgKGRvY3VtZW50LmFjdGl2ZUVsZW1lbnQpIHtcbiAgICAgICAgZG9jdW1lbnQuYWN0aXZlRWxlbWVudC5ibHVyKCk7XG4gICAgICB9XG4gICAgICB0aGlzLnNldFN0YXRlKHsgc3RhcnRYOiBlLmNsaWVudFgsIHN0YXJ0WTogZS5jbGllbnRZIH0pO1xuICAgICAgaWYgKG9uRHJhZ1N0YXJ0KSB7XG4gICAgICAgIG9uRHJhZ1N0YXJ0KCk7XG4gICAgICB9XG4gICAgfTtcbiAgICBwb3NpdGlvbiA9ICgpID0+IHtcbiAgICAgIGNvbnN0IHsgeCwgeSB9ID0gb3B0cy5hbmNob3JQb2ludCh0aGlzLnByb3BzKTtcbiAgICAgIGNvbnN0IHsgZ3JhcGhQcm9wcyB9ID0gdGhpcy5wcm9wcztcbiAgICAgIGNvbnN0IHsgc2NhbGUsIHNuYXAgfSA9IGdyYXBoUHJvcHM7XG5cbiAgICAgIHJldHVybiB7XG4gICAgICAgIGFuY2hvclBvaW50OiB7XG4gICAgICAgICAgeCxcbiAgICAgICAgICB5LFxuICAgICAgICB9LFxuICAgICAgICB4OiBkZWx0YUZuKHNjYWxlLngsIHNuYXAueCwgeCksXG4gICAgICAgIHk6IGRlbHRhRm4oc2NhbGUueSwgc25hcC55LCB5KSxcbiAgICAgIH07XG4gICAgfTtcblxuICAgIHRpbnkgPSAoa2V5LCBldmVudCkgPT4ge1xuICAgICAgY29uc3QgSyA9IGtleS50b1VwcGVyQ2FzZSgpO1xuICAgICAgY29uc3QgZW5kID0gZXZlbnRbYGNsaWVudCR7S31gXTtcbiAgICAgIGNvbnN0IHN0YXJ0ID0gdGhpcy5zdGF0ZVtgc3RhcnQke0t9YF07XG4gICAgICBjb25zdCBkZWx0YSA9IE1hdGguYWJzKGVuZCAtIHN0YXJ0KTtcbiAgICAgIGNvbnN0IG91dCA9IGRlbHRhIDwgTWF0aC5hYnModGhpcy5ncmlkKClba2V5XSkgLyAxMDtcbiAgICAgIGxvZygnW3RpbnldIGtleTogJywga2V5LCAnZGVsdGE6ICcsIGRlbHRhLCAnb3V0OiAnLCBvdXQpO1xuICAgICAgcmV0dXJuIG91dDtcbiAgICB9O1xuXG4gICAgZ2V0U2NhbGVkQm91bmRzID0gKCkgPT4ge1xuICAgICAgY29uc3QgYm91bmRzID0gb3B0cy5ib3VuZHModGhpcy5wcm9wcywgdGhpcy5wcm9wcy5ncmFwaFByb3BzKTtcbiAgICAgIGxvZygnYm91bmRzOiAnLCBib3VuZHMpO1xuICAgICAgY29uc3QgZ3JpZCA9IHRoaXMuZ3JpZCgpO1xuXG4gICAgICBjb25zdCBzY2FsZWQgPSB7XG4gICAgICAgIGxlZnQ6IChib3VuZHMubGVmdCAvIGdyaWQuaW50ZXJ2YWwpICogZ3JpZC54LFxuICAgICAgICByaWdodDogKGJvdW5kcy5yaWdodCAvIGdyaWQuaW50ZXJ2YWwpICogZ3JpZC54LFxuICAgICAgICB0b3A6IChib3VuZHMudG9wIC8gZ3JpZC5pbnRlcnZhbCkgKiBncmlkLnksXG4gICAgICAgIGJvdHRvbTogKGJvdW5kcy5ib3R0b20gLyBncmlkLmludGVydmFsKSAqIGdyaWQueSxcbiAgICAgIH07XG4gICAgICBsb2coJ1tnZXRTY2FsZWRCb3VuZHNdOiAnLCBzY2FsZWQpO1xuICAgICAgcmV0dXJuIHNjYWxlZDtcbiAgICB9O1xuXG4gICAgLyoqXG4gICAgICogUmV0cmlldmVzIHRoZSBjb29yZGluYXRlcyBvZiBhIG1vdXNlIG9yIHRvdWNoIGV2ZW50IHJlbGF0aXZlIHRvIGFuIFNWRyBlbGVtZW50LlxuICAgICAqIFRoaXMgbWV0aG9kIGhhcyBiZWVuIG92ZXJ3cml0dGVuIGZyb20gdGhlIGQzLXNlbGVjdGlvbiBsaWJyYXJ5J3MgY2xpZW50UG9pbnQgdG8gaGFuZGxlIHRvdWNoIGV2ZW50cyBhbmQgaW1wcm92ZSBjbGFyaXR5LlxuICAgICAqIEBwYXJhbSB7RWxlbWVudH0gbm9kZSAtIFRoZSBTVkcgZWxlbWVudC5cbiAgICAgKiBAcGFyYW0ge0V2ZW50fSBldmVudCAtIFRoZSBtb3VzZSBvciB0b3VjaCBldmVudC5cbiAgICAgKiBAcmV0dXJucyB7QXJyYXl9IC0gQW4gYXJyYXkgY29udGFpbmluZyB0aGUgY29vcmRpbmF0ZXMgW3gsIHldIHJlbGF0aXZlIHRvIHRoZSBTVkcgZWxlbWVudC5cbiAgICAgKi9cbiAgICBnZXRDbGllbnRQb2ludCA9IChub2RlLCBldmVudCkgPT4ge1xuICAgICAgaWYgKCFub2RlIHx8ICFldmVudCkge1xuICAgICAgICByZXR1cm4gbnVsbDtcbiAgICAgIH1cbiAgICAgIGNvbnN0IHN2ZyA9IG5vZGUub3duZXJTVkdFbGVtZW50IHx8IG5vZGU7XG5cbiAgICAgIGlmIChzdmcgJiYgc3ZnLmNyZWF0ZVNWR1BvaW50KSB7XG4gICAgICAgIGxldCBwb2ludCA9IHN2Zy5jcmVhdGVTVkdQb2ludCgpO1xuICAgICAgICAvLyBDaGVjayBpZiBpdCdzIGEgdG91Y2ggZXZlbnQgYW5kIHVzZSB0aGUgZmlyc3QgdG91Y2ggcG9pbnRcbiAgICAgICAgaWYgKGV2ZW50LnRvdWNoZXMgJiYgZXZlbnQudG91Y2hlcy5sZW5ndGggPiAwKSB7XG4gICAgICAgICAgY29uc3QgdG91Y2ggPSBldmVudC50b3VjaGVzWzBdO1xuICAgICAgICAgIHBvaW50LnggPSB0b3VjaC5jbGllbnRYO1xuICAgICAgICAgIHBvaW50LnkgPSB0b3VjaC5jbGllbnRZO1xuICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgIC8vIEZhbGwgYmFjayB0byBtb3VzZSBldmVudCBwcm9wZXJ0aWVzXG4gICAgICAgICAgcG9pbnQueCA9IGV2ZW50LmNsaWVudFg7XG4gICAgICAgICAgcG9pbnQueSA9IGV2ZW50LmNsaWVudFk7XG4gICAgICAgIH1cbiAgICAgICAgaWYgKG5vZGUuZ2V0U2NyZWVuQ1RNKSB7XG4gICAgICAgICAgcG9pbnQgPSBwb2ludC5tYXRyaXhUcmFuc2Zvcm0obm9kZS5nZXRTY3JlZW5DVE0oKS5pbnZlcnNlKCkpO1xuICAgICAgICAgIHJldHVybiBbcG9pbnQueCwgcG9pbnQueV07XG4gICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgcmV0dXJuIG51bGw7XG4gICAgICAgIH1cbiAgICAgIH1cblxuICAgICAgY29uc3QgcmVjdCA9IG5vZGUuZ2V0Qm91bmRpbmdDbGllbnRSZWN0KCk7XG4gICAgICBpZiAocmVjdCkge1xuICAgICAgICByZXR1cm4gW2V2ZW50LmNsaWVudFggLSByZWN0LmxlZnQgLSBub2RlLmNsaWVudExlZnQsIGV2ZW50LmNsaWVudFkgLSByZWN0LnRvcCAtIG5vZGUuY2xpZW50VG9wXTtcbiAgICAgIH0gZWxzZSB7XG4gICAgICAgIHJldHVybiBudWxsO1xuICAgICAgfVxuICAgIH07XG5cbiAgICBza2lwRHJhZ091dHNpZGVPZkJvdW5kcyA9IChkZCwgZSwgZ3JhcGhQcm9wcykgPT4ge1xuICAgICAgLy8gSWdub3JlIGRyYWcgbW92ZW1lbnQgb3V0c2lkZSBvZiB0aGUgZG9tYWluIGFuZCByYW5nZS5cbiAgICAgIGNvbnN0IHJvb3ROb2RlID0gZ3JhcGhQcm9wcy5nZXRSb290Tm9kZSgpO1xuICAgICAgY29uc3QgY2xpZW50UG9pbnQgPSB0aGlzLmdldENsaWVudFBvaW50KHJvb3ROb2RlLCBlKTtcblxuICAgICAgaWYgKGNsaWVudFBvaW50ID09PSBudWxsKSB7XG4gICAgICAgIHJldHVybiB0cnVlOyAvLyBJbmRpY2F0ZSB0aGF0IHRoZSBkcmFnIGlzIG91dHNpZGUgb2YgYm91bmRzXG4gICAgICB9XG5cbiAgICAgIGNvbnN0IFtyYXdYLCByYXdZXSA9IGNsaWVudFBvaW50O1xuICAgICAgY29uc3QgeyBzY2FsZSwgZG9tYWluLCByYW5nZSB9ID0gZ3JhcGhQcm9wcztcbiAgICAgIGxldCB4ID0gc2NhbGUueC5pbnZlcnQocmF3WCk7XG4gICAgICBsZXQgeSA9IHNjYWxlLnkuaW52ZXJ0KHJhd1kpO1xuXG4gICAgICBjb25zdCB4T3V0c2lkZSA9IChkZC5kZWx0YVggPiAwICYmIHggPCBkb21haW4ubWluKSB8fCAoZGQuZGVsdGFYIDwgMCAmJiB4ID4gZG9tYWluLm1heCk7XG4gICAgICBjb25zdCB5T3V0c2lkZSA9IChkZC5kZWx0YVkgPiAwICYmIHkgPiByYW5nZS5tYXgpIHx8IChkZC5kZWx0YVkgPCAwICYmIHkgPCByYW5nZS5taW4pO1xuICAgICAgcmV0dXJuIHhPdXRzaWRlIHx8IHlPdXRzaWRlO1xuICAgIH07XG5cbiAgICBvbkRyYWcgPSAoZSwgZGQpID0+IHtcbiAgICAgIGNvbnN0IHsgb25EcmFnLCBncmFwaFByb3BzIH0gPSB0aGlzLnByb3BzO1xuXG4gICAgICBpZiAoIW9uRHJhZykge1xuICAgICAgICByZXR1cm47XG4gICAgICB9XG5cbiAgICAgIGNvbnN0IGJvdW5kcyA9IHRoaXMuZ2V0U2NhbGVkQm91bmRzKCk7XG5cbiAgICAgIGlmIChkZC5kZWx0YVggPCAwICYmIGRkLmRlbHRhWCA8IGJvdW5kcy5sZWZ0KSB7XG4gICAgICAgIHJldHVybjtcbiAgICAgIH1cblxuICAgICAgaWYgKGRkLmRlbHRhWCA+IDAgJiYgZGQuZGVsdGFYID4gYm91bmRzLnJpZ2h0KSB7XG4gICAgICAgIHJldHVybjtcbiAgICAgIH1cblxuICAgICAgaWYgKGRkLmRlbHRhWSA8IDAgJiYgZGQuZGVsdGFZIDwgYm91bmRzLnRvcCkge1xuICAgICAgICByZXR1cm47XG4gICAgICB9XG5cbiAgICAgIGlmIChkZC5kZWx0YVkgPiAwICYmIGRkLmRlbHRhWSA+IGJvdW5kcy5ib3R0b20pIHtcbiAgICAgICAgcmV0dXJuO1xuICAgICAgfVxuXG4gICAgICBpZiAodGhpcy5za2lwRHJhZ091dHNpZGVPZkJvdW5kcyhkZCwgZSwgZ3JhcGhQcm9wcykpIHtcbiAgICAgICAgcmV0dXJuO1xuICAgICAgfVxuXG4gICAgICBjb25zdCBkcmFnQXJnID0gdGhpcy5hcHBseURlbHRhKHsgeDogZGQuZGVsdGFYLCB5OiBkZC5kZWx0YVkgfSk7XG5cbiAgICAgIGlmIChkcmFnQXJnICE9PSB1bmRlZmluZWQgfHwgZHJhZ0FyZyAhPT0gbnVsbCkge1xuICAgICAgICBvbkRyYWcoZHJhZ0FyZyk7XG4gICAgICB9XG4gICAgfTtcblxuICAgIGdldERlbHRhID0gKHBvaW50KSA9PiB7XG4gICAgICBjb25zdCBwb3MgPSB0aGlzLnBvc2l0aW9uKCk7XG5cbiAgICAgIGNvbnN0IHAgPSB7XG4gICAgICAgIHg6IHBvcy54KHBvaW50LngpLFxuICAgICAgICB5OiBwb3MueShwb2ludC55KSxcbiAgICAgIH07XG5cbiAgICAgIHJldHVybiB1dGlscy5nZXREZWx0YShwb3MuYW5jaG9yUG9pbnQsIHApO1xuICAgIH07XG5cbiAgICBhcHBseURlbHRhID0gKHBvaW50KSA9PiB7XG4gICAgICBjb25zdCBkZWx0YSA9IHRoaXMuZ2V0RGVsdGEocG9pbnQpO1xuICAgICAgbG9nKCdbYXBwbHlEZWx0YV0gZGVsdGE6JywgZGVsdGEpO1xuICAgICAgcmV0dXJuIG9wdHMuZnJvbURlbHRhKHRoaXMucHJvcHMsIGRlbHRhKTtcbiAgICB9O1xuXG4gICAgb25TdG9wID0gKGUsIGRkKSA9PiB7XG4gICAgICBsb2coJ1tvblN0b3BdIGRkOicsIGRkKTtcbiAgICAgIGNvbnN0IHsgb25EcmFnU3RvcCwgb25DbGljayB9ID0gdGhpcy5wcm9wcztcblxuICAgICAgaWYgKG9uRHJhZ1N0b3ApIHtcbiAgICAgICAgb25EcmFnU3RvcCgpO1xuICAgICAgfVxuXG4gICAgICBsb2coJ1tvblN0b3BdIGxhc3RYL1k6ICcsIGRkLmxhc3RYLCBkZC5sYXN0WSk7XG4gICAgICBjb25zdCBpc0NsaWNrID0gdGhpcy50aW55KCd4JywgZSkgJiYgdGhpcy50aW55KCd5JywgZSk7XG5cbiAgICAgIGlmIChpc0NsaWNrKSB7XG4gICAgICAgIGlmIChvbkNsaWNrKSB7XG4gICAgICAgICAgbG9nKCdjYWxsIG9uQ2xpY2snKTtcbiAgICAgICAgICB0aGlzLnNldFN0YXRlKHsgc3RhcnRYOiBudWxsIH0pO1xuICAgICAgICAgIGNvbnN0IHsgZ3JhcGhQcm9wcyB9ID0gdGhpcy5wcm9wcztcbiAgICAgICAgICBjb25zdCB7IHNjYWxlLCBzbmFwIH0gPSBncmFwaFByb3BzO1xuICAgICAgICAgIGNvbnN0IFtyYXdYLCByYXdZXSA9IGNsaWVudFBvaW50KGUudGFyZ2V0LCBlKTtcbiAgICAgICAgICBsZXQgeCA9IHNjYWxlLnguaW52ZXJ0KHJhd1gpO1xuICAgICAgICAgIGxldCB5ID0gc2NhbGUueS5pbnZlcnQocmF3WSk7XG4gICAgICAgICAgeCA9IHNuYXAueCh4KTtcbiAgICAgICAgICB5ID0gc25hcC55KHkpO1xuICAgICAgICAgIG9uQ2xpY2soeyB4LCB5IH0pO1xuICAgICAgICAgIHJldHVybiBmYWxzZTtcbiAgICAgICAgfVxuICAgICAgfVxuXG4gICAgICB0aGlzLnNldFN0YXRlKHsgc3RhcnRYOiBudWxsLCBzdGFydFk6IG51bGwgfSk7XG4gICAgICAvLyByZXR1cm4gZmFsc2UgdG8gcHJldmVudCBzdGF0ZSB1cGRhdGVzIGluIHRoZSB1bmRlcmx5aW5nIGRyYWdnYWJsZSAtIGEgbW92ZSB3aWxsIGhhdmUgdHJpZ2dlcmVkIGFuIHVwZGF0ZSBhbHJlYWR5LlxuICAgICAgcmV0dXJuIGZhbHNlO1xuICAgIH07XG5cbiAgICByZW5kZXIoKSB7XG4gICAgICBjb25zdCB7IGRpc2FibGVkLCAuLi5yZXN0IH0gPSB0aGlzLnByb3BzO1xuICAgICAgY29uc3QgZ3JpZCA9IHRoaXMuZ3JpZCgpO1xuXG4gICAgICAvLyBwcmV2ZW50IHRoZSB0ZXh0IHNlbGVjdCBpY29uIGZyb20gcmVuZGVyaW5nLlxuICAgICAgY29uc3Qgb25Nb3VzZURvd24gPSAoZSkgPT4gZS5uYXRpdmVFdmVudC5wcmV2ZW50RGVmYXVsdCgpO1xuXG4gICAgICAvKipcbiAgICAgICAqIFRPRE86IFRoaXMgc2hvdWxkbnQgYmUgbmVjZXNzYXJ5LCB3ZSBzaG91bGQgYmUgYWJsZSB0byB1c2UgdGhlIHItZCBjbGFzc25hbWVzLlxuICAgICAgICogQnV0IHRoZXkgYXJlbid0IGJlaW5nIHVuc2V0LiBJZiB3ZSBjb250aW51ZSB3aXRoIHRoaXMgbGliLCB3ZSdsbCBoYXZlIHRvIGZpeCB0aGlzLlxuICAgICAgICovXG4gICAgICBjb25zdCBpc0RyYWdnaW5nID0gdGhpcy5zdGF0ZSA/ICEhdGhpcy5zdGF0ZS5zdGFydFggOiBmYWxzZTtcblxuICAgICAgcmV0dXJuIChcbiAgICAgICAgPERyYWdnYWJsZUNvcmVcbiAgICAgICAgICBkaXNhYmxlZD17ZGlzYWJsZWR9XG4gICAgICAgICAgb25Nb3VzZURvd249e29uTW91c2VEb3dufVxuICAgICAgICAgIG9uU3RhcnQ9e3RoaXMub25TdGFydH1cbiAgICAgICAgICBvbkRyYWc9e3RoaXMub25EcmFnfVxuICAgICAgICAgIG9uU3RvcD17dGhpcy5vblN0b3B9XG4gICAgICAgICAgYXhpcz17b3B0cy5heGlzIHx8ICdib3RoJ31cbiAgICAgICAgICBncmlkPXtbZ3JpZC54LCBncmlkLnldfVxuICAgICAgICA+XG4gICAgICAgICAgPENvbXAgey4uLnJlc3R9IGRpc2FibGVkPXtkaXNhYmxlZH0gaXNEcmFnZ2luZz17aXNEcmFnZ2luZ30gLz5cbiAgICAgICAgPC9EcmFnZ2FibGVDb3JlPlxuICAgICAgKTtcbiAgICB9XG4gIH07XG59O1xuIl19
package/lib/index.js DELETED
@@ -1,59 +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
- Object.defineProperty(exports, "Draggable", {
11
- enumerable: true,
12
- get: function get() {
13
- return _draggable["default"];
14
- }
15
- });
16
- Object.defineProperty(exports, "Root", {
17
- enumerable: true,
18
- get: function get() {
19
- return _root["default"];
20
- }
21
- });
22
- Object.defineProperty(exports, "createGraphProps", {
23
- enumerable: true,
24
- get: function get() {
25
- return _graphProps.create;
26
- }
27
- });
28
- Object.defineProperty(exports, "gridDraggable", {
29
- enumerable: true,
30
- get: function get() {
31
- return _gridDraggable.gridDraggable;
32
- }
33
- });
34
- exports.utils = exports.types = exports.trig = void 0;
35
-
36
- var _root = _interopRequireDefault(require("./root"));
37
-
38
- var _draggable = _interopRequireDefault(require("./draggable"));
39
-
40
- var _gridDraggable = require("./grid-draggable");
41
-
42
- var utils = _interopRequireWildcard(require("./utils"));
43
-
44
- exports.utils = utils;
45
-
46
- var trig = _interopRequireWildcard(require("./trig"));
47
-
48
- exports.trig = trig;
49
-
50
- var types = _interopRequireWildcard(require("./types"));
51
-
52
- exports.types = types;
53
-
54
- var _graphProps = require("./graph-props");
55
-
56
- 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); }
57
-
58
- 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; }
59
- //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uL3NyYy9pbmRleC5qcyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7OztBQUFBOztBQUNBOztBQUNBOztBQUNBOzs7O0FBQ0E7Ozs7QUFDQTs7OztBQUNBIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IFJvb3QgZnJvbSAnLi9yb290JztcbmltcG9ydCBEcmFnZ2FibGUgZnJvbSAnLi9kcmFnZ2FibGUnO1xuaW1wb3J0IHsgZ3JpZERyYWdnYWJsZSB9IGZyb20gJy4vZ3JpZC1kcmFnZ2FibGUnO1xuaW1wb3J0ICogYXMgdXRpbHMgZnJvbSAnLi91dGlscyc7XG5pbXBvcnQgKiBhcyB0cmlnIGZyb20gJy4vdHJpZyc7XG5pbXBvcnQgKiBhcyB0eXBlcyBmcm9tICcuL3R5cGVzJztcbmltcG9ydCB7IGNyZWF0ZSBhcyBjcmVhdGVHcmFwaFByb3BzIH0gZnJvbSAnLi9ncmFwaC1wcm9wcyc7XG5cbmV4cG9ydCB7IFJvb3QsIERyYWdnYWJsZSwgZ3JpZERyYWdnYWJsZSwgdXRpbHMsIHRyaWcsIHR5cGVzLCBjcmVhdGVHcmFwaFByb3BzIH07XG4iXX0=