@pie-lib/plot 2.27.3-next.2 → 2.27.3-next.205

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,65 +1,35 @@
1
1
  "use strict";
2
2
 
3
3
  var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
4
-
5
4
  var _typeof = require("@babel/runtime/helpers/typeof");
6
-
7
5
  Object.defineProperty(exports, "__esModule", {
8
6
  value: true
9
7
  });
10
8
  exports.gridDraggable = exports.deltaFn = void 0;
11
-
12
9
  var _extends2 = _interopRequireDefault(require("@babel/runtime/helpers/extends"));
13
-
14
10
  var _objectWithoutProperties2 = _interopRequireDefault(require("@babel/runtime/helpers/objectWithoutProperties"));
15
-
16
11
  var _slicedToArray2 = _interopRequireDefault(require("@babel/runtime/helpers/slicedToArray"));
17
-
18
12
  var _classCallCheck2 = _interopRequireDefault(require("@babel/runtime/helpers/classCallCheck"));
19
-
20
13
  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
14
  var _possibleConstructorReturn2 = _interopRequireDefault(require("@babel/runtime/helpers/possibleConstructorReturn"));
27
-
28
15
  var _getPrototypeOf2 = _interopRequireDefault(require("@babel/runtime/helpers/getPrototypeOf"));
29
-
16
+ var _inherits2 = _interopRequireDefault(require("@babel/runtime/helpers/inherits"));
30
17
  var _defineProperty2 = _interopRequireDefault(require("@babel/runtime/helpers/defineProperty"));
31
-
32
18
  var _react = _interopRequireDefault(require("react"));
33
-
34
19
  var _propTypes = _interopRequireDefault(require("prop-types"));
35
-
36
20
  var _types = require("./types");
37
-
38
21
  var _draggable = require("./draggable");
39
-
40
22
  var _debug = _interopRequireDefault(require("debug"));
41
-
42
23
  var utils = _interopRequireWildcard(require("./utils"));
43
-
44
24
  var _isFunction = _interopRequireDefault(require("lodash/isFunction"));
45
-
46
25
  var _invariant = _interopRequireDefault(require("invariant"));
47
-
48
26
  var _d3Selection = require("d3-selection");
49
-
50
27
  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
-
28
+ function _interopRequireWildcard(e, t) { if ("function" == typeof WeakMap) var r = new WeakMap(), n = new WeakMap(); return (_interopRequireWildcard = function _interopRequireWildcard(e, t) { if (!t && e && e.__esModule) return e; var o, i, f = { __proto__: null, "default": e }; if (null === e || "object" != _typeof(e) && "function" != typeof e) return f; if (o = t ? n : r) { if (o.has(e)) return o.get(e); o.set(e, f); } for (var _t in e) "default" !== _t && {}.hasOwnProperty.call(e, _t) && ((i = (o = Object.defineProperty) && Object.getOwnPropertyDescriptor(e, _t)) && (i.get || i.set) ? o(f, _t, i) : f[_t] = e[_t]); return f; })(e, t); }
29
+ function _callSuper(t, o, e) { return o = (0, _getPrototypeOf2["default"])(o), (0, _possibleConstructorReturn2["default"])(t, _isNativeReflectConstruct() ? Reflect.construct(o, e || [], (0, _getPrototypeOf2["default"])(t).constructor) : o.apply(t, e)); }
30
+ function _isNativeReflectConstruct() { try { var t = !Boolean.prototype.valueOf.call(Reflect.construct(Boolean, [], function () {})); } catch (t) {} return (_isNativeReflectConstruct = function _isNativeReflectConstruct() { return !!t; })(); }
60
31
  var log = (0, _debug["default"])('pie-lib:plot:grid-draggable');
61
-
62
- var deltaFn = function deltaFn(scale, snap, val) {
32
+ var deltaFn = exports.deltaFn = function deltaFn(scale, snap, val) {
63
33
  return function (delta) {
64
34
  var normalized = delta + scale(0);
65
35
  var inverted = scale.invert(normalized);
@@ -67,68 +37,50 @@ var deltaFn = function deltaFn(scale, snap, val) {
67
37
  return fixDecimalsArithmetic;
68
38
  };
69
39
  };
40
+
70
41
  /**
71
42
  * Creates a Component that is draggable, within a bounded grid.
72
43
  * @param {*} opts
73
44
  */
74
-
75
-
76
- exports.deltaFn = deltaFn;
77
-
78
- var gridDraggable = function gridDraggable(opts) {
45
+ var gridDraggable = exports.gridDraggable = function gridDraggable(opts) {
79
46
  return function (Comp) {
80
- var _class;
81
-
47
+ var _GridDraggable;
82
48
  (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() {
49
+ return _GridDraggable = /*#__PURE__*/function (_React$Component) {
50
+ function GridDraggable(props) {
89
51
  var _this;
90
-
91
52
  (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 () {
53
+ _this = _callSuper(this, GridDraggable, [props]);
54
+ (0, _defineProperty2["default"])(_this, "grid", function () {
99
55
  var graphProps = _this.props.graphProps;
100
56
  var scale = graphProps.scale,
101
- domain = graphProps.domain,
102
- range = graphProps.range;
57
+ domain = graphProps.domain,
58
+ range = graphProps.range;
103
59
  return {
104
60
  x: scale.x(domain.step) - scale.x(0),
105
61
  y: scale.y(range.step) - scale.y(0)
106
62
  };
107
63
  });
108
- (0, _defineProperty2["default"])((0, _assertThisInitialized2["default"])(_this), "onStart", function (e) {
64
+ (0, _defineProperty2["default"])(_this, "onStart", function (e) {
109
65
  var onDragStart = _this.props.onDragStart;
110
-
111
66
  if (document.activeElement) {
112
67
  document.activeElement.blur();
113
68
  }
114
-
115
69
  _this.setState({
116
70
  startX: e.clientX,
117
71
  startY: e.clientY
118
72
  });
119
-
120
73
  if (onDragStart) {
121
74
  onDragStart();
122
75
  }
123
76
  });
124
- (0, _defineProperty2["default"])((0, _assertThisInitialized2["default"])(_this), "position", function () {
77
+ (0, _defineProperty2["default"])(_this, "position", function () {
125
78
  var _opts$anchorPoint = opts.anchorPoint(_this.props),
126
- x = _opts$anchorPoint.x,
127
- y = _opts$anchorPoint.y;
128
-
79
+ x = _opts$anchorPoint.x,
80
+ y = _opts$anchorPoint.y;
129
81
  var graphProps = _this.props.graphProps;
130
82
  var scale = graphProps.scale,
131
- snap = graphProps.snap;
83
+ snap = graphProps.snap;
132
84
  return {
133
85
  anchorPoint: {
134
86
  x: x,
@@ -138,42 +90,43 @@ var gridDraggable = function gridDraggable(opts) {
138
90
  y: deltaFn(scale.y, snap.y, y)
139
91
  };
140
92
  });
141
- (0, _defineProperty2["default"])((0, _assertThisInitialized2["default"])(_this), "tiny", function (key, event) {
93
+ (0, _defineProperty2["default"])(_this, "tiny", function (key, event) {
142
94
  var K = key.toUpperCase();
143
95
  var end = event["client".concat(K)];
144
-
145
96
  var start = _this.state["start".concat(K)];
146
-
147
97
  var delta = Math.abs(end - start);
148
98
  var out = delta < Math.abs(_this.grid()[key]) / 10;
149
99
  log('[tiny] key: ', key, 'delta: ', delta, 'out: ', out);
150
100
  return out;
151
101
  });
152
- (0, _defineProperty2["default"])((0, _assertThisInitialized2["default"])(_this), "getScaledBounds", function () {
102
+ (0, _defineProperty2["default"])(_this, "getScaledBounds", function () {
153
103
  var bounds = opts.bounds(_this.props, _this.props.graphProps);
154
104
  log('bounds: ', bounds);
155
-
156
105
  var grid = _this.grid();
157
-
158
106
  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
107
+ left: bounds.left * grid.x,
108
+ right: bounds.right * grid.x,
109
+ top: bounds.top * grid.y,
110
+ bottom: bounds.bottom * grid.y
163
111
  };
164
112
  log('[getScaledBounds]: ', scaled);
165
113
  return scaled;
166
114
  });
167
- (0, _defineProperty2["default"])((0, _assertThisInitialized2["default"])(_this), "getClientPoint", function (node, event) {
115
+ /**
116
+ * Retrieves the coordinates of a mouse or touch event relative to an SVG element.
117
+ * This method has been overwritten from the d3-selection library's clientPoint to handle touch events and improve clarity.
118
+ * @param {Element} node - The SVG element.
119
+ * @param {Event} event - The mouse or touch event.
120
+ * @returns {Array} - An array containing the coordinates [x, y] relative to the SVG element.
121
+ */
122
+ (0, _defineProperty2["default"])(_this, "getClientPoint", function (node, event) {
168
123
  if (!node || !event) {
169
124
  return null;
170
125
  }
171
-
172
126
  var svg = node.ownerSVGElement || node;
173
-
174
127
  if (svg && svg.createSVGPoint) {
175
- var point = svg.createSVGPoint(); // Check if it's a touch event and use the first touch point
176
-
128
+ var point = svg.createSVGPoint();
129
+ // Check if it's a touch event and use the first touch point
177
130
  if (event.touches && event.touches.length > 0) {
178
131
  var touch = event.touches[0];
179
132
  point.x = touch.clientX;
@@ -183,7 +136,6 @@ var gridDraggable = function gridDraggable(opts) {
183
136
  point.x = event.clientX;
184
137
  point.y = event.clientY;
185
138
  }
186
-
187
139
  if (node.getScreenCTM) {
188
140
  point = point.matrixTransform(node.getScreenCTM().inverse());
189
141
  return [point.x, point.y];
@@ -191,124 +143,99 @@ var gridDraggable = function gridDraggable(opts) {
191
143
  return null;
192
144
  }
193
145
  }
194
-
195
146
  var rect = node.getBoundingClientRect();
196
-
197
147
  if (rect) {
198
148
  return [event.clientX - rect.left - node.clientLeft, event.clientY - rect.top - node.clientTop];
199
149
  } else {
200
150
  return null;
201
151
  }
202
152
  });
203
- (0, _defineProperty2["default"])((0, _assertThisInitialized2["default"])(_this), "skipDragOutsideOfBounds", function (dd, e, graphProps) {
153
+ (0, _defineProperty2["default"])(_this, "skipDragOutsideOfBounds", function (dd, e, graphProps) {
204
154
  // Ignore drag movement outside of the domain and range.
205
155
  var rootNode = graphProps.getRootNode();
206
-
207
156
  var clientPoint = _this.getClientPoint(rootNode, e);
208
-
209
157
  if (clientPoint === null) {
210
158
  return true; // Indicate that the drag is outside of bounds
211
159
  }
212
-
213
160
  var _clientPoint = (0, _slicedToArray2["default"])(clientPoint, 2),
214
- rawX = _clientPoint[0],
215
- rawY = _clientPoint[1];
216
-
161
+ rawX = _clientPoint[0],
162
+ rawY = _clientPoint[1];
217
163
  var scale = graphProps.scale,
218
- domain = graphProps.domain,
219
- range = graphProps.range;
164
+ domain = graphProps.domain,
165
+ range = graphProps.range;
220
166
  var x = scale.x.invert(rawX);
221
167
  var y = scale.y.invert(rawY);
222
168
  var xOutside = dd.deltaX > 0 && x < domain.min || dd.deltaX < 0 && x > domain.max;
223
169
  var yOutside = dd.deltaY > 0 && y > range.max || dd.deltaY < 0 && y < range.min;
224
170
  return xOutside || yOutside;
225
171
  });
226
- (0, _defineProperty2["default"])((0, _assertThisInitialized2["default"])(_this), "onDrag", function (e, dd) {
172
+ (0, _defineProperty2["default"])(_this, "onDrag", function (e, dd) {
227
173
  var _this$props = _this.props,
228
- onDrag = _this$props.onDrag,
229
- graphProps = _this$props.graphProps;
230
-
174
+ onDrag = _this$props.onDrag,
175
+ graphProps = _this$props.graphProps;
231
176
  if (!onDrag) {
232
177
  return;
233
178
  }
234
-
235
179
  var bounds = _this.getScaledBounds();
236
-
237
180
  if (dd.deltaX < 0 && dd.deltaX < bounds.left) {
238
181
  return;
239
182
  }
240
-
241
183
  if (dd.deltaX > 0 && dd.deltaX > bounds.right) {
242
184
  return;
243
185
  }
244
-
245
186
  if (dd.deltaY < 0 && dd.deltaY < bounds.top) {
246
187
  return;
247
188
  }
248
-
249
189
  if (dd.deltaY > 0 && dd.deltaY > bounds.bottom) {
250
190
  return;
251
191
  }
252
-
253
192
  if (_this.skipDragOutsideOfBounds(dd, e, graphProps)) {
254
193
  return;
255
194
  }
256
-
257
195
  var dragArg = _this.applyDelta({
258
196
  x: dd.deltaX,
259
197
  y: dd.deltaY
260
198
  });
261
-
262
199
  if (dragArg !== undefined || dragArg !== null) {
263
200
  onDrag(dragArg);
264
201
  }
265
202
  });
266
- (0, _defineProperty2["default"])((0, _assertThisInitialized2["default"])(_this), "getDelta", function (point) {
203
+ (0, _defineProperty2["default"])(_this, "getDelta", function (point) {
267
204
  var pos = _this.position();
268
-
269
205
  var p = {
270
206
  x: pos.x(point.x),
271
207
  y: pos.y(point.y)
272
208
  };
273
209
  return utils.getDelta(pos.anchorPoint, p);
274
210
  });
275
- (0, _defineProperty2["default"])((0, _assertThisInitialized2["default"])(_this), "applyDelta", function (point) {
211
+ (0, _defineProperty2["default"])(_this, "applyDelta", function (point) {
276
212
  var delta = _this.getDelta(point);
277
-
278
213
  log('[applyDelta] delta:', delta);
279
214
  return opts.fromDelta(_this.props, delta);
280
215
  });
281
- (0, _defineProperty2["default"])((0, _assertThisInitialized2["default"])(_this), "onStop", function (e, dd) {
216
+ (0, _defineProperty2["default"])(_this, "onStop", function (e, dd) {
282
217
  log('[onStop] dd:', dd);
283
218
  var _this$props2 = _this.props,
284
- onDragStop = _this$props2.onDragStop,
285
- onClick = _this$props2.onClick;
286
-
219
+ onDragStop = _this$props2.onDragStop,
220
+ onClick = _this$props2.onClick;
287
221
  if (onDragStop) {
288
222
  onDragStop();
289
223
  }
290
-
291
224
  log('[onStop] lastX/Y: ', dd.lastX, dd.lastY);
292
-
293
225
  var isClick = _this.tiny('x', e) && _this.tiny('y', e);
294
-
295
226
  if (isClick) {
296
227
  if (onClick) {
297
228
  log('call onClick');
298
-
299
229
  _this.setState({
300
230
  startX: null
301
231
  });
302
-
303
232
  var graphProps = _this.props.graphProps;
304
233
  var scale = graphProps.scale,
305
- snap = graphProps.snap;
306
-
234
+ snap = graphProps.snap;
307
235
  var _clientPoint2 = (0, _d3Selection.clientPoint)(e.target, e),
308
- _clientPoint3 = (0, _slicedToArray2["default"])(_clientPoint2, 2),
309
- rawX = _clientPoint3[0],
310
- rawY = _clientPoint3[1];
311
-
236
+ _clientPoint3 = (0, _slicedToArray2["default"])(_clientPoint2, 2),
237
+ rawX = _clientPoint3[0],
238
+ rawY = _clientPoint3[1];
312
239
  var x = scale.x.invert(rawX);
313
240
  var y = scale.y.invert(rawY);
314
241
  x = snap.x(x);
@@ -320,35 +247,37 @@ var gridDraggable = function gridDraggable(opts) {
320
247
  return false;
321
248
  }
322
249
  }
323
-
324
250
  _this.setState({
325
251
  startX: null,
326
252
  startY: null
327
- }); // return false to prevent state updates in the underlying draggable - a move will have triggered an update already.
328
-
329
-
253
+ });
254
+ // return false to prevent state updates in the underlying draggable - a move will have triggered an update already.
330
255
  return false;
331
256
  });
257
+ _this.state = {
258
+ startX: null,
259
+ startY: null
260
+ };
332
261
  return _this;
333
262
  }
334
-
335
- (0, _createClass2["default"])(GridDraggable, [{
263
+ (0, _inherits2["default"])(GridDraggable, _React$Component);
264
+ return (0, _createClass2["default"])(GridDraggable, [{
336
265
  key: "render",
337
266
  value: function render() {
338
267
  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.
268
+ disabled = _this$props3.disabled,
269
+ rest = (0, _objectWithoutProperties2["default"])(_this$props3, _excluded);
270
+ var grid = this.grid();
342
271
 
272
+ // prevent the text select icon from rendering.
343
273
  var onMouseDown = function onMouseDown(e) {
344
274
  return e.nativeEvent.preventDefault();
345
275
  };
276
+
346
277
  /**
347
278
  * TODO: This shouldnt be necessary, we should be able to use the r-d classnames.
348
279
  * But they aren't being unset. If we continue with this lib, we'll have to fix this.
349
280
  */
350
-
351
-
352
281
  var isDragging = this.state ? !!this.state.startX : false;
353
282
  return /*#__PURE__*/_react["default"].createElement(_draggable.DraggableCore, {
354
283
  disabled: disabled,
@@ -364,8 +293,7 @@ var gridDraggable = function gridDraggable(opts) {
364
293
  })));
365
294
  }
366
295
  }]);
367
- return GridDraggable;
368
- }(_react["default"].Component), (0, _defineProperty2["default"])(_class, "propTypes", {
296
+ }(_react["default"].Component), (0, _defineProperty2["default"])(_GridDraggable, "propTypes", {
369
297
  disabled: _propTypes["default"].bool,
370
298
  onDragStart: _propTypes["default"].func,
371
299
  onDrag: _propTypes["default"].func,
@@ -373,9 +301,7 @@ var gridDraggable = function gridDraggable(opts) {
373
301
  onClick: _propTypes["default"].func,
374
302
  onMove: _propTypes["default"].func,
375
303
  graphProps: _types.GraphPropsType.isRequired
376
- }), _class;
304
+ }), _GridDraggable;
377
305
  };
378
306
  };
379
-
380
- exports.gridDraggable = gridDraggable;
381
307
  //# sourceMappingURL=grid-draggable.js.map
@@ -1 +1 @@
1
- {"version":3,"sources":["../src/grid-draggable.jsx"],"names":["log","deltaFn","scale","snap","val","delta","normalized","inverted","invert","fixDecimalsArithmetic","toFixed","gridDraggable","opts","Comp","fromDelta","bounds","anchorPoint","graphProps","props","domain","range","x","step","y","e","onDragStart","document","activeElement","blur","setState","startX","clientX","startY","clientY","key","event","K","toUpperCase","end","start","state","Math","abs","out","grid","scaled","left","interval","right","top","bottom","node","svg","ownerSVGElement","createSVGPoint","point","touches","length","touch","getScreenCTM","matrixTransform","inverse","rect","getBoundingClientRect","clientLeft","clientTop","dd","rootNode","getRootNode","clientPoint","getClientPoint","rawX","rawY","xOutside","deltaX","min","max","yOutside","deltaY","onDrag","getScaledBounds","skipDragOutsideOfBounds","dragArg","applyDelta","undefined","pos","position","p","utils","getDelta","onDragStop","onClick","lastX","lastY","isClick","tiny","target","disabled","rest","onMouseDown","nativeEvent","preventDefault","isDragging","onStart","onStop","axis","React","Component","PropTypes","bool","func","onMove","GraphPropsType","isRequired"],"mappings":"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","sourcesContent":["import React from 'react';\nimport PropTypes from 'prop-types';\nimport { GraphPropsType } from './types';\nimport { DraggableCore } from './draggable';\nimport debug from 'debug';\nimport * as utils from './utils';\nimport isFunction from 'lodash/isFunction';\nimport invariant from 'invariant';\nimport { clientPoint } from 'd3-selection';\n\nconst log = debug('pie-lib:plot:grid-draggable');\n\nexport const deltaFn = (scale, snap, val) => (delta) => {\n const normalized = delta + scale(0);\n const inverted = scale.invert(normalized);\n\n const fixDecimalsArithmetic = (snap(val + inverted).toFixed(4) * 1000) / 1000;\n\n return fixDecimalsArithmetic;\n};\n\n/**\n * Creates a Component that is draggable, within a bounded grid.\n * @param {*} opts\n */\nexport const gridDraggable = (opts) => (Comp) => {\n invariant(\n !!opts && isFunction(opts.fromDelta) && isFunction(opts.bounds) && isFunction(opts.anchorPoint),\n 'You must supply an object with: { anchorPoint: Function, fromDelta: Function, bounds: Function }',\n );\n return class GridDraggable extends React.Component {\n static propTypes = {\n disabled: PropTypes.bool,\n onDragStart: PropTypes.func,\n onDrag: PropTypes.func,\n onDragStop: PropTypes.func,\n onClick: PropTypes.func,\n onMove: PropTypes.func,\n graphProps: GraphPropsType.isRequired,\n };\n grid = () => {\n const { graphProps } = this.props;\n const { scale, domain, range } = graphProps;\n return {\n x: scale.x(domain.step) - scale.x(0),\n y: scale.y(range.step) - scale.y(0),\n };\n };\n onStart = (e) => {\n const { onDragStart } = this.props;\n if (document.activeElement) {\n document.activeElement.blur();\n }\n this.setState({ startX: e.clientX, startY: e.clientY });\n if (onDragStart) {\n onDragStart();\n }\n };\n position = () => {\n const { x, y } = opts.anchorPoint(this.props);\n const { graphProps } = this.props;\n const { scale, snap } = graphProps;\n\n return {\n anchorPoint: {\n x,\n y,\n },\n x: deltaFn(scale.x, snap.x, x),\n y: deltaFn(scale.y, snap.y, y),\n };\n };\n\n tiny = (key, event) => {\n const K = key.toUpperCase();\n const end = event[`client${K}`];\n const start = this.state[`start${K}`];\n const delta = Math.abs(end - start);\n const out = delta < Math.abs(this.grid()[key]) / 10;\n log('[tiny] key: ', key, 'delta: ', delta, 'out: ', out);\n return out;\n };\n\n getScaledBounds = () => {\n const bounds = opts.bounds(this.props, this.props.graphProps);\n log('bounds: ', bounds);\n const grid = this.grid();\n\n const scaled = {\n left: (bounds.left / grid.interval) * grid.x,\n right: (bounds.right / grid.interval) * grid.x,\n top: (bounds.top / grid.interval) * grid.y,\n bottom: (bounds.bottom / grid.interval) * grid.y,\n };\n log('[getScaledBounds]: ', scaled);\n return scaled;\n };\n\n /**\n * Retrieves the coordinates of a mouse or touch event relative to an SVG element.\n * This method has been overwritten from the d3-selection library's clientPoint to handle touch events and improve clarity.\n * @param {Element} node - The SVG element.\n * @param {Event} event - The mouse or touch event.\n * @returns {Array} - An array containing the coordinates [x, y] relative to the SVG element.\n */\n getClientPoint = (node, event) => {\n if (!node || !event) {\n return null;\n }\n const svg = node.ownerSVGElement || node;\n\n if (svg && svg.createSVGPoint) {\n let point = svg.createSVGPoint();\n // Check if it's a touch event and use the first touch point\n if (event.touches && event.touches.length > 0) {\n const touch = event.touches[0];\n point.x = touch.clientX;\n point.y = touch.clientY;\n } else {\n // Fall back to mouse event properties\n point.x = event.clientX;\n point.y = event.clientY;\n }\n if (node.getScreenCTM) {\n point = point.matrixTransform(node.getScreenCTM().inverse());\n return [point.x, point.y];\n } else {\n return null;\n }\n }\n\n const rect = node.getBoundingClientRect();\n if (rect) {\n return [event.clientX - rect.left - node.clientLeft, event.clientY - rect.top - node.clientTop];\n } else {\n return null;\n }\n };\n\n skipDragOutsideOfBounds = (dd, e, graphProps) => {\n // Ignore drag movement outside of the domain and range.\n const rootNode = graphProps.getRootNode();\n const clientPoint = this.getClientPoint(rootNode, e);\n\n if (clientPoint === null) {\n return true; // Indicate that the drag is outside of bounds\n }\n\n const [rawX, rawY] = clientPoint;\n const { scale, domain, range } = graphProps;\n let x = scale.x.invert(rawX);\n let y = scale.y.invert(rawY);\n\n const xOutside = (dd.deltaX > 0 && x < domain.min) || (dd.deltaX < 0 && x > domain.max);\n const yOutside = (dd.deltaY > 0 && y > range.max) || (dd.deltaY < 0 && y < range.min);\n return xOutside || yOutside;\n };\n\n onDrag = (e, dd) => {\n const { onDrag, graphProps } = this.props;\n\n if (!onDrag) {\n return;\n }\n\n const bounds = this.getScaledBounds();\n\n if (dd.deltaX < 0 && dd.deltaX < bounds.left) {\n return;\n }\n\n if (dd.deltaX > 0 && dd.deltaX > bounds.right) {\n return;\n }\n\n if (dd.deltaY < 0 && dd.deltaY < bounds.top) {\n return;\n }\n\n if (dd.deltaY > 0 && dd.deltaY > bounds.bottom) {\n return;\n }\n\n if (this.skipDragOutsideOfBounds(dd, e, graphProps)) {\n return;\n }\n\n const dragArg = this.applyDelta({ x: dd.deltaX, y: dd.deltaY });\n\n if (dragArg !== undefined || dragArg !== null) {\n onDrag(dragArg);\n }\n };\n\n getDelta = (point) => {\n const pos = this.position();\n\n const p = {\n x: pos.x(point.x),\n y: pos.y(point.y),\n };\n\n return utils.getDelta(pos.anchorPoint, p);\n };\n\n applyDelta = (point) => {\n const delta = this.getDelta(point);\n log('[applyDelta] delta:', delta);\n return opts.fromDelta(this.props, delta);\n };\n\n onStop = (e, dd) => {\n log('[onStop] dd:', dd);\n const { onDragStop, onClick } = this.props;\n\n if (onDragStop) {\n onDragStop();\n }\n\n log('[onStop] lastX/Y: ', dd.lastX, dd.lastY);\n const isClick = this.tiny('x', e) && this.tiny('y', e);\n\n if (isClick) {\n if (onClick) {\n log('call onClick');\n this.setState({ startX: null });\n const { graphProps } = this.props;\n const { scale, snap } = graphProps;\n const [rawX, rawY] = clientPoint(e.target, e);\n let x = scale.x.invert(rawX);\n let y = scale.y.invert(rawY);\n x = snap.x(x);\n y = snap.y(y);\n onClick({ x, y });\n return false;\n }\n }\n\n this.setState({ startX: null, startY: null });\n // return false to prevent state updates in the underlying draggable - a move will have triggered an update already.\n return false;\n };\n\n render() {\n const { disabled, ...rest } = this.props;\n const grid = this.grid();\n\n // prevent the text select icon from rendering.\n const onMouseDown = (e) => e.nativeEvent.preventDefault();\n\n /**\n * TODO: This shouldnt be necessary, we should be able to use the r-d classnames.\n * But they aren't being unset. If we continue with this lib, we'll have to fix this.\n */\n const isDragging = this.state ? !!this.state.startX : false;\n\n return (\n <DraggableCore\n disabled={disabled}\n onMouseDown={onMouseDown}\n onStart={this.onStart}\n onDrag={this.onDrag}\n onStop={this.onStop}\n axis={opts.axis || 'both'}\n grid={[grid.x, grid.y]}\n >\n <Comp {...rest} disabled={disabled} isDragging={isDragging} />\n </DraggableCore>\n );\n }\n };\n};\n"],"file":"grid-draggable.js"}
1
+ {"version":3,"file":"grid-draggable.js","names":["_react","_interopRequireDefault","require","_propTypes","_types","_draggable","_debug","utils","_interopRequireWildcard","_isFunction","_invariant","_d3Selection","_excluded","e","t","WeakMap","r","n","__esModule","o","i","f","__proto__","_typeof","has","get","set","_t","hasOwnProperty","call","Object","defineProperty","getOwnPropertyDescriptor","_callSuper","_getPrototypeOf2","_possibleConstructorReturn2","_isNativeReflectConstruct","Reflect","construct","constructor","apply","Boolean","prototype","valueOf","log","debug","deltaFn","exports","scale","snap","val","delta","normalized","inverted","invert","fixDecimalsArithmetic","toFixed","gridDraggable","opts","Comp","_GridDraggable","invariant","isFunction","fromDelta","bounds","anchorPoint","_React$Component","GridDraggable","props","_this","_classCallCheck2","_defineProperty2","graphProps","domain","range","x","step","y","onDragStart","document","activeElement","blur","setState","startX","clientX","startY","clientY","_opts$anchorPoint","key","event","K","toUpperCase","end","concat","start","state","Math","abs","out","grid","scaled","left","right","top","bottom","node","svg","ownerSVGElement","createSVGPoint","point","touches","length","touch","getScreenCTM","matrixTransform","inverse","rect","getBoundingClientRect","clientLeft","clientTop","dd","rootNode","getRootNode","clientPoint","getClientPoint","_clientPoint","_slicedToArray2","rawX","rawY","xOutside","deltaX","min","max","yOutside","deltaY","_this$props","onDrag","getScaledBounds","skipDragOutsideOfBounds","dragArg","applyDelta","undefined","pos","position","p","getDelta","_this$props2","onDragStop","onClick","lastX","lastY","isClick","tiny","_clientPoint2","target","_clientPoint3","_inherits2","_createClass2","value","render","_this$props3","disabled","rest","_objectWithoutProperties2","onMouseDown","nativeEvent","preventDefault","isDragging","createElement","DraggableCore","onStart","onStop","axis","_extends2","React","Component","PropTypes","bool","func","onMove","GraphPropsType","isRequired"],"sources":["../src/grid-draggable.jsx"],"sourcesContent":["import React from 'react';\nimport PropTypes from 'prop-types';\nimport { GraphPropsType } from './types';\nimport { DraggableCore } from './draggable';\nimport debug from 'debug';\nimport * as utils from './utils';\nimport isFunction from 'lodash/isFunction';\nimport invariant from 'invariant';\nimport { clientPoint } from 'd3-selection';\n\nconst log = debug('pie-lib:plot:grid-draggable');\n\nexport const deltaFn = (scale, snap, val) => (delta) => {\n const normalized = delta + scale(0);\n const inverted = scale.invert(normalized);\n\n const fixDecimalsArithmetic = (snap(val + inverted).toFixed(4) * 1000) / 1000;\n\n return fixDecimalsArithmetic;\n};\n\n/**\n * Creates a Component that is draggable, within a bounded grid.\n * @param {*} opts\n */\nexport const gridDraggable = (opts) => (Comp) => {\n invariant(\n !!opts && isFunction(opts.fromDelta) && isFunction(opts.bounds) && isFunction(opts.anchorPoint),\n 'You must supply an object with: { anchorPoint: Function, fromDelta: Function, bounds: Function }',\n );\n return class GridDraggable extends React.Component {\n static propTypes = {\n disabled: PropTypes.bool,\n onDragStart: PropTypes.func,\n onDrag: PropTypes.func,\n onDragStop: PropTypes.func,\n onClick: PropTypes.func,\n onMove: PropTypes.func,\n graphProps: GraphPropsType.isRequired,\n };\n\n constructor(props) {\n super(props);\n this.state = {\n startX: null,\n startY: null,\n };\n }\n\n grid = () => {\n const { graphProps } = this.props;\n const { scale, domain, range } = graphProps;\n return {\n x: scale.x(domain.step) - scale.x(0),\n y: scale.y(range.step) - scale.y(0),\n };\n };\n onStart = (e) => {\n const { onDragStart } = this.props;\n if (document.activeElement) {\n document.activeElement.blur();\n }\n this.setState({ startX: e.clientX, startY: e.clientY });\n if (onDragStart) {\n onDragStart();\n }\n };\n position = () => {\n const { x, y } = opts.anchorPoint(this.props);\n const { graphProps } = this.props;\n const { scale, snap } = graphProps;\n\n return {\n anchorPoint: {\n x,\n y,\n },\n x: deltaFn(scale.x, snap.x, x),\n y: deltaFn(scale.y, snap.y, y),\n };\n };\n\n tiny = (key, event) => {\n const K = key.toUpperCase();\n const end = event[`client${K}`];\n const start = this.state[`start${K}`];\n const delta = Math.abs(end - start);\n const out = delta < Math.abs(this.grid()[key]) / 10;\n log('[tiny] key: ', key, 'delta: ', delta, 'out: ', out);\n return out;\n };\n\n getScaledBounds = () => {\n const bounds = opts.bounds(this.props, this.props.graphProps);\n log('bounds: ', bounds);\n const grid = this.grid();\n\n const scaled = {\n left: bounds.left * grid.x,\n right: bounds.right * grid.x,\n top: bounds.top * grid.y,\n bottom: bounds.bottom * grid.y,\n };\n log('[getScaledBounds]: ', scaled);\n return scaled;\n };\n\n /**\n * Retrieves the coordinates of a mouse or touch event relative to an SVG element.\n * This method has been overwritten from the d3-selection library's clientPoint to handle touch events and improve clarity.\n * @param {Element} node - The SVG element.\n * @param {Event} event - The mouse or touch event.\n * @returns {Array} - An array containing the coordinates [x, y] relative to the SVG element.\n */\n getClientPoint = (node, event) => {\n if (!node || !event) {\n return null;\n }\n const svg = node.ownerSVGElement || node;\n\n if (svg && svg.createSVGPoint) {\n let point = svg.createSVGPoint();\n // Check if it's a touch event and use the first touch point\n if (event.touches && event.touches.length > 0) {\n const touch = event.touches[0];\n point.x = touch.clientX;\n point.y = touch.clientY;\n } else {\n // Fall back to mouse event properties\n point.x = event.clientX;\n point.y = event.clientY;\n }\n if (node.getScreenCTM) {\n point = point.matrixTransform(node.getScreenCTM().inverse());\n return [point.x, point.y];\n } else {\n return null;\n }\n }\n\n const rect = node.getBoundingClientRect();\n if (rect) {\n return [event.clientX - rect.left - node.clientLeft, event.clientY - rect.top - node.clientTop];\n } else {\n return null;\n }\n };\n\n skipDragOutsideOfBounds = (dd, e, graphProps) => {\n // Ignore drag movement outside of the domain and range.\n const rootNode = graphProps.getRootNode();\n const clientPoint = this.getClientPoint(rootNode, e);\n\n if (clientPoint === null) {\n return true; // Indicate that the drag is outside of bounds\n }\n\n const [rawX, rawY] = clientPoint;\n const { scale, domain, range } = graphProps;\n let x = scale.x.invert(rawX);\n let y = scale.y.invert(rawY);\n\n const xOutside = (dd.deltaX > 0 && x < domain.min) || (dd.deltaX < 0 && x > domain.max);\n const yOutside = (dd.deltaY > 0 && y > range.max) || (dd.deltaY < 0 && y < range.min);\n return xOutside || yOutside;\n };\n\n onDrag = (e, dd) => {\n const { onDrag, graphProps } = this.props;\n\n if (!onDrag) {\n return;\n }\n\n const bounds = this.getScaledBounds();\n\n if (dd.deltaX < 0 && dd.deltaX < bounds.left) {\n return;\n }\n\n if (dd.deltaX > 0 && dd.deltaX > bounds.right) {\n return;\n }\n\n if (dd.deltaY < 0 && dd.deltaY < bounds.top) {\n return;\n }\n\n if (dd.deltaY > 0 && dd.deltaY > bounds.bottom) {\n return;\n }\n\n if (this.skipDragOutsideOfBounds(dd, e, graphProps)) {\n return;\n }\n\n const dragArg = this.applyDelta({ x: dd.deltaX, y: dd.deltaY });\n\n if (dragArg !== undefined || dragArg !== null) {\n onDrag(dragArg);\n }\n };\n\n getDelta = (point) => {\n const pos = this.position();\n\n const p = {\n x: pos.x(point.x),\n y: pos.y(point.y),\n };\n\n return utils.getDelta(pos.anchorPoint, p);\n };\n\n applyDelta = (point) => {\n const delta = this.getDelta(point);\n log('[applyDelta] delta:', delta);\n return opts.fromDelta(this.props, delta);\n };\n\n onStop = (e, dd) => {\n log('[onStop] dd:', dd);\n const { onDragStop, onClick } = this.props;\n\n if (onDragStop) {\n onDragStop();\n }\n\n log('[onStop] lastX/Y: ', dd.lastX, dd.lastY);\n const isClick = this.tiny('x', e) && this.tiny('y', e);\n\n if (isClick) {\n if (onClick) {\n log('call onClick');\n this.setState({ startX: null });\n const { graphProps } = this.props;\n const { scale, snap } = graphProps;\n const [rawX, rawY] = clientPoint(e.target, e);\n let x = scale.x.invert(rawX);\n let y = scale.y.invert(rawY);\n x = snap.x(x);\n y = snap.y(y);\n onClick({ x, y });\n return false;\n }\n }\n\n this.setState({ startX: null, startY: null });\n // return false to prevent state updates in the underlying draggable - a move will have triggered an update already.\n return false;\n };\n\n render() {\n const { disabled, ...rest } = this.props;\n const grid = this.grid();\n\n // prevent the text select icon from rendering.\n const onMouseDown = (e) => e.nativeEvent.preventDefault();\n\n /**\n * TODO: This shouldnt be necessary, we should be able to use the r-d classnames.\n * But they aren't being unset. If we continue with this lib, we'll have to fix this.\n */\n const isDragging = this.state ? !!this.state.startX : false;\n\n return (\n <DraggableCore\n disabled={disabled}\n onMouseDown={onMouseDown}\n onStart={this.onStart}\n onDrag={this.onDrag}\n onStop={this.onStop}\n axis={opts.axis || 'both'}\n grid={[grid.x, grid.y]}\n >\n <Comp {...rest} disabled={disabled} isDragging={isDragging} />\n </DraggableCore>\n );\n }\n };\n};\n"],"mappings":"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","ignoreList":[]}
package/lib/index.js CHANGED
@@ -1,9 +1,7 @@
1
1
  "use strict";
2
2
 
3
3
  var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
4
-
5
4
  var _typeof = require("@babel/runtime/helpers/typeof");
6
-
7
5
  Object.defineProperty(exports, "__esModule", {
8
6
  value: true
9
7
  });
@@ -32,28 +30,15 @@ Object.defineProperty(exports, "gridDraggable", {
32
30
  }
33
31
  });
34
32
  exports.utils = exports.types = exports.trig = void 0;
35
-
36
33
  var _root = _interopRequireDefault(require("./root"));
37
-
38
34
  var _draggable = _interopRequireDefault(require("./draggable"));
39
-
40
35
  var _gridDraggable = require("./grid-draggable");
41
-
42
36
  var utils = _interopRequireWildcard(require("./utils"));
43
-
44
37
  exports.utils = utils;
45
-
46
38
  var trig = _interopRequireWildcard(require("./trig"));
47
-
48
39
  exports.trig = trig;
49
-
50
40
  var types = _interopRequireWildcard(require("./types"));
51
-
52
41
  exports.types = types;
53
-
54
42
  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; }
43
+ function _interopRequireWildcard(e, t) { if ("function" == typeof WeakMap) var r = new WeakMap(), n = new WeakMap(); return (_interopRequireWildcard = function _interopRequireWildcard(e, t) { if (!t && e && e.__esModule) return e; var o, i, f = { __proto__: null, "default": e }; if (null === e || "object" != _typeof(e) && "function" != typeof e) return f; if (o = t ? n : r) { if (o.has(e)) return o.get(e); o.set(e, f); } for (var _t in e) "default" !== _t && {}.hasOwnProperty.call(e, _t) && ((i = (o = Object.defineProperty) && Object.getOwnPropertyDescriptor(e, _t)) && (i.get || i.set) ? o(f, _t, i) : f[_t] = e[_t]); return f; })(e, t); }
59
44
  //# sourceMappingURL=index.js.map
package/lib/index.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"sources":["../src/index.js"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA;;AACA;;AACA;;AACA;;;;AACA;;;;AACA;;;;AACA","sourcesContent":["import Root from './root';\nimport Draggable from './draggable';\nimport { gridDraggable } from './grid-draggable';\nimport * as utils from './utils';\nimport * as trig from './trig';\nimport * as types from './types';\nimport { create as createGraphProps } from './graph-props';\n\nexport { Root, Draggable, gridDraggable, utils, trig, types, createGraphProps };\n"],"file":"index.js"}
1
+ {"version":3,"file":"index.js","names":["_root","_interopRequireDefault","require","_draggable","_gridDraggable","utils","_interopRequireWildcard","exports","trig","types","_graphProps","e","t","WeakMap","r","n","__esModule","o","i","f","__proto__","_typeof","has","get","set","_t","hasOwnProperty","call","Object","defineProperty","getOwnPropertyDescriptor"],"sources":["../src/index.js"],"sourcesContent":["import Root from './root';\nimport Draggable from './draggable';\nimport { gridDraggable } from './grid-draggable';\nimport * as utils from './utils';\nimport * as trig from './trig';\nimport * as types from './types';\nimport { create as createGraphProps } from './graph-props';\n\nexport { Root, Draggable, gridDraggable, utils, trig, types, createGraphProps };\n"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA,IAAAA,KAAA,GAAAC,sBAAA,CAAAC,OAAA;AACA,IAAAC,UAAA,GAAAF,sBAAA,CAAAC,OAAA;AACA,IAAAE,cAAA,GAAAF,OAAA;AACA,IAAAG,KAAA,GAAAC,uBAAA,CAAAJ,OAAA;AAAiCK,OAAA,CAAAF,KAAA,GAAAA,KAAA;AACjC,IAAAG,IAAA,GAAAF,uBAAA,CAAAJ,OAAA;AAA+BK,OAAA,CAAAC,IAAA,GAAAA,IAAA;AAC/B,IAAAC,KAAA,GAAAH,uBAAA,CAAAJ,OAAA;AAAiCK,OAAA,CAAAE,KAAA,GAAAA,KAAA;AACjC,IAAAC,WAAA,GAAAR,OAAA;AAA2D,SAAAI,wBAAAK,CAAA,EAAAC,CAAA,6BAAAC,OAAA,MAAAC,CAAA,OAAAD,OAAA,IAAAE,CAAA,OAAAF,OAAA,YAAAP,uBAAA,YAAAA,wBAAAK,CAAA,EAAAC,CAAA,SAAAA,CAAA,IAAAD,CAAA,IAAAA,CAAA,CAAAK,UAAA,SAAAL,CAAA,MAAAM,CAAA,EAAAC,CAAA,EAAAC,CAAA,KAAAC,SAAA,mBAAAT,CAAA,iBAAAA,CAAA,gBAAAU,OAAA,CAAAV,CAAA,0BAAAA,CAAA,SAAAQ,CAAA,MAAAF,CAAA,GAAAL,CAAA,GAAAG,CAAA,GAAAD,CAAA,QAAAG,CAAA,CAAAK,GAAA,CAAAX,CAAA,UAAAM,CAAA,CAAAM,GAAA,CAAAZ,CAAA,GAAAM,CAAA,CAAAO,GAAA,CAAAb,CAAA,EAAAQ,CAAA,cAAAM,EAAA,IAAAd,CAAA,gBAAAc,EAAA,OAAAC,cAAA,CAAAC,IAAA,CAAAhB,CAAA,EAAAc,EAAA,OAAAP,CAAA,IAAAD,CAAA,GAAAW,MAAA,CAAAC,cAAA,KAAAD,MAAA,CAAAE,wBAAA,CAAAnB,CAAA,EAAAc,EAAA,OAAAP,CAAA,CAAAK,GAAA,IAAAL,CAAA,CAAAM,GAAA,IAAAP,CAAA,CAAAE,CAAA,EAAAM,EAAA,EAAAP,CAAA,IAAAC,CAAA,CAAAM,EAAA,IAAAd,CAAA,CAAAc,EAAA,WAAAN,CAAA,KAAAR,CAAA,EAAAC,CAAA","ignoreList":[]}