@pie-lib/plot 3.0.0-next.0 → 3.1.0-next.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -0,0 +1,300 @@
1
+ "use strict";
2
+
3
+ var _typeof = require("@babel/runtime/helpers/typeof");
4
+ var _assert = require("assert");
5
+ var utils = _interopRequireWildcard(require("../utils"));
6
+ 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); }
7
+ var xy = utils.xy;
8
+ var tick = function tick(isMajor, v) {
9
+ return {
10
+ major: isMajor,
11
+ value: v,
12
+ x: v
13
+ };
14
+ };
15
+ var major = tick.bind(null, true);
16
+ var minor = tick.bind(null, false);
17
+ describe('utils', function () {
18
+ describe('getDelta', function () {
19
+ var assertDelta = function assertDelta(from, to, delta) {
20
+ it("returns a delta of: ".concat(delta, " for ").concat(from, " -> ").concat(to), function () {
21
+ var d = utils.getDelta(from, to);
22
+ expect(d.x).toEqual(delta.x);
23
+ expect(d.y).toEqual(delta.y);
24
+ });
25
+ };
26
+ assertDelta(xy(0, 0), xy(0, 1), xy(0, 1));
27
+ assertDelta(xy(0, 1), xy(0, 0), xy(0, -1));
28
+ assertDelta(xy(1, 1), xy(3, 3), xy(2, 2));
29
+ assertDelta(xy(-1, -1), xy(3, 3), xy(4, 4));
30
+ assertDelta(xy(-1, -1), xy(-2, -5), xy(-1, -4));
31
+ });
32
+ describe('polygonToArea', function () {
33
+ var assertPolygon = function assertPolygon(points, area) {
34
+ it("converts ".concat(points, " -> ").concat(area), function () {
35
+ var result = utils.polygonToArea(points);
36
+ expect(result).toEqual(area);
37
+ });
38
+ };
39
+ assertPolygon([xy(0, 0), xy(1, 1), xy(1, -1)], {
40
+ left: 0,
41
+ top: 1,
42
+ bottom: -1,
43
+ right: 1
44
+ });
45
+ assertPolygon([xy(0, 0), xy(3, 0), xy(2, -1), xy(4, -3), xy(1, -4), xy(2, -2)], {
46
+ left: 0,
47
+ top: 0,
48
+ bottom: -4,
49
+ right: 4
50
+ });
51
+ });
52
+ describe('buildTickModel', function () {
53
+ var scaleFn;
54
+ beforeEach(function () {
55
+ scaleFn = jest.fn(function (v) {
56
+ return v;
57
+ });
58
+ });
59
+ it('builds major only ticks', function () {
60
+ var result = utils.buildTickModel({
61
+ min: 0,
62
+ max: 2
63
+ }, {
64
+ minor: 0
65
+ }, 1, scaleFn);
66
+ expect(result).toEqual([major(0), major(1), major(2)]);
67
+ });
68
+ it('builds minor + major ticks', function () {
69
+ var result = utils.buildTickModel({
70
+ min: 0,
71
+ max: 2
72
+ }, {
73
+ minor: 1
74
+ }, 0.5, scaleFn);
75
+ expect(result).toEqual([major(0), minor(0.5), major(1), minor(1.5), major(2)]);
76
+ });
77
+ });
78
+ describe('snapTo', function () {
79
+ var assertSnapTo = function assertSnapTo(min, max, interval, value, expected) {
80
+ it("snaps ".concat(value, " to ").concat(expected, " with domain ").concat(min, "<->").concat(max, " with interval: ").concat(interval, " "), function () {
81
+ var result = utils.snapTo(min, max, interval, value);
82
+ expect(result).toEqual(expected);
83
+ });
84
+ };
85
+ describe('with 0, 10, 0.25', function () {
86
+ var a = assertSnapTo.bind(null, 0, 10, 0.25);
87
+ a(1, 1);
88
+ a(1.2, 1.25);
89
+ a(0.2, 0.25);
90
+ a(5.2, 5.25);
91
+ a(5.125, 5.25);
92
+ a(5.124, 5);
93
+ });
94
+ describe('with 0, 10, 1', function () {
95
+ var a = assertSnapTo.bind(null, 0, 10, 1);
96
+ a(0, 0);
97
+ a(10, 10);
98
+ a(100, 10);
99
+ a(1, 1);
100
+ a(1.2, 1);
101
+ a(0.2, 0);
102
+ a(5.2, 5);
103
+ a(5.001, 5);
104
+ });
105
+ });
106
+ describe('getInterval', function () {
107
+ var assertGetInterval = function assertGetInterval(min, max, ticks, expected) {
108
+ var paramsDescription = JSON.stringify(ticks);
109
+ it("converts: ".concat(paramsDescription, " to ").concat(JSON.stringify(expected)), function () {
110
+ var result = utils.getInterval({
111
+ min: min,
112
+ max: max
113
+ }, ticks);
114
+ expect(result).toEqual(expected);
115
+ });
116
+ };
117
+ describe('with bad params', function () {
118
+ it('throws an error if min > max', function () {
119
+ expect(function () {
120
+ var result = utils.convertFrequencyToInterval({
121
+ min: 11,
122
+ max: 10,
123
+ tickFrequency: 1,
124
+ betweenTickCount: 0
125
+ }, {
126
+ interval: 10,
127
+ major: 10
128
+ });
129
+ console.log('result: ', result);
130
+ }).toThrow(Error);
131
+ });
132
+ it('throws an error if min = max', function () {
133
+ expect(function () {
134
+ var result = utils.convertFrequencyToInterval({
135
+ min: 10,
136
+ max: 10,
137
+ tickFrequency: 1,
138
+ betweenTickCount: 0
139
+ }, {
140
+ interval: 10,
141
+ major: 10
142
+ });
143
+ console.log('result: ', result);
144
+ }).toThrow(Error);
145
+ });
146
+ });
147
+ describe('with domain 0 -> 1', function () {
148
+ var a = assertGetInterval.bind(null, 0, 1);
149
+ a({
150
+ major: 2,
151
+ minor: 0
152
+ }, 1);
153
+ a({
154
+ major: 2,
155
+ minor: 1
156
+ }, 0.5);
157
+ });
158
+ describe('with domain 0 -> 10', function () {
159
+ var a = assertGetInterval.bind(null, 0, 10);
160
+ it('throws an error if the tick frequency is less than 2', function () {
161
+ expect(function () {
162
+ var result = utils.convertFrequencyToInterval({
163
+ min: 0,
164
+ max: 10,
165
+ tickFrequency: 1,
166
+ betweenTickCount: 0
167
+ }, {
168
+ interval: 10,
169
+ major: 10
170
+ });
171
+ console.log('result: ', result);
172
+ }).toThrow(Error);
173
+ });
174
+ a({
175
+ major: 2,
176
+ minor: 9
177
+ }, 1);
178
+ a({
179
+ major: 2,
180
+ minor: 0
181
+ }, 10);
182
+ a({
183
+ major: 3,
184
+ minor: 0
185
+ }, 5);
186
+ a({
187
+ major: 3,
188
+ minor: 1
189
+ }, 2.5);
190
+ a({
191
+ major: 4,
192
+ minor: 0
193
+ }, 3.3333);
194
+ a({
195
+ major: 5,
196
+ minor: 0
197
+ }, 2.5);
198
+ a({
199
+ major: 6,
200
+ minor: 0
201
+ }, 2);
202
+ a({
203
+ major: 7,
204
+ minor: 0
205
+ }, 1.6667);
206
+ a({
207
+ major: 8,
208
+ minor: 0
209
+ }, 1.4286);
210
+ a({
211
+ major: 9,
212
+ minor: 0
213
+ }, 1.25);
214
+ a({
215
+ major: 10,
216
+ minor: 0
217
+ }, 1.1111);
218
+ a({
219
+ major: 11,
220
+ minor: 0
221
+ }, 1);
222
+ a({
223
+ major: 11,
224
+ minor: 1
225
+ }, 0.5);
226
+ a({
227
+ major: 11,
228
+ minor: 2
229
+ }, 0.3333);
230
+ });
231
+ describe('with domain 0 -> 100', function () {
232
+ var a = assertGetInterval.bind(null, 0, 100);
233
+ a({
234
+ major: 11,
235
+ minor: 1
236
+ }, 5);
237
+ a({
238
+ major: 101,
239
+ minor: 0
240
+ }, 1);
241
+ });
242
+ describe('with domain -5 - 5', function () {
243
+ var a = assertGetInterval.bind(null, -5, 5);
244
+ a({
245
+ major: 11,
246
+ minor: 0
247
+ }, 1);
248
+ });
249
+ describe('with domain 0 - 5', function () {
250
+ var a = assertGetInterval.bind(null, 0, 5);
251
+ a({
252
+ major: 11,
253
+ minor: 0
254
+ }, 0.5);
255
+ a({
256
+ major: 11,
257
+ minor: 2
258
+ }, 0.1667);
259
+ a({
260
+ major: 11,
261
+ minor: 1
262
+ }, 0.25);
263
+ });
264
+ });
265
+ describe('findLongestWord', function () {
266
+ it('should return 0 if label is undefined', function () {
267
+ var label = undefined;
268
+ var result = utils.findLongestWord(label);
269
+ expect(result).toEqual(0);
270
+ });
271
+ it('should return 0 if label is null', function () {
272
+ var label = null;
273
+ var result = utils.findLongestWord(label);
274
+ expect(result).toEqual(0);
275
+ });
276
+ it('should return 6 if the longest word from label has 6 letters', function () {
277
+ var label = 'Number of months';
278
+ var result = utils.findLongestWord(label);
279
+ expect(result).toEqual(6);
280
+ });
281
+ });
282
+ describe('amountToIncreaseWidth', function () {
283
+ it('should return 0 if longestWord is undefined', function () {
284
+ var longestWord = undefined;
285
+ var result = utils.amountToIncreaseWidth(longestWord);
286
+ expect(result).toEqual(0);
287
+ });
288
+ it('should return 0 if longestWord is null', function () {
289
+ var longestWord = null;
290
+ var result = utils.amountToIncreaseWidth(longestWord);
291
+ expect(result).toEqual(0);
292
+ });
293
+ it('should return 150 if longestWord is 10', function () {
294
+ var longestWord = 10;
295
+ var result = utils.amountToIncreaseWidth(longestWord);
296
+ expect(result).toEqual(200);
297
+ });
298
+ });
299
+ });
300
+ //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJuYW1lcyI6WyJfYXNzZXJ0IiwicmVxdWlyZSIsInV0aWxzIiwiX2ludGVyb3BSZXF1aXJlV2lsZGNhcmQiLCJlIiwidCIsIldlYWtNYXAiLCJyIiwibiIsIl9fZXNNb2R1bGUiLCJvIiwiaSIsImYiLCJfX3Byb3RvX18iLCJfdHlwZW9mIiwiaGFzIiwiZ2V0Iiwic2V0IiwiX3QiLCJoYXNPd25Qcm9wZXJ0eSIsImNhbGwiLCJPYmplY3QiLCJkZWZpbmVQcm9wZXJ0eSIsImdldE93blByb3BlcnR5RGVzY3JpcHRvciIsInh5IiwidGljayIsImlzTWFqb3IiLCJ2IiwibWFqb3IiLCJ2YWx1ZSIsIngiLCJiaW5kIiwibWlub3IiLCJkZXNjcmliZSIsImFzc2VydERlbHRhIiwiZnJvbSIsInRvIiwiZGVsdGEiLCJpdCIsImNvbmNhdCIsImQiLCJnZXREZWx0YSIsImV4cGVjdCIsInRvRXF1YWwiLCJ5IiwiYXNzZXJ0UG9seWdvbiIsInBvaW50cyIsImFyZWEiLCJyZXN1bHQiLCJwb2x5Z29uVG9BcmVhIiwibGVmdCIsInRvcCIsImJvdHRvbSIsInJpZ2h0Iiwic2NhbGVGbiIsImJlZm9yZUVhY2giLCJqZXN0IiwiZm4iLCJidWlsZFRpY2tNb2RlbCIsIm1pbiIsIm1heCIsImFzc2VydFNuYXBUbyIsImludGVydmFsIiwiZXhwZWN0ZWQiLCJzbmFwVG8iLCJhIiwiYXNzZXJ0R2V0SW50ZXJ2YWwiLCJ0aWNrcyIsInBhcmFtc0Rlc2NyaXB0aW9uIiwiSlNPTiIsInN0cmluZ2lmeSIsImdldEludGVydmFsIiwiY29udmVydEZyZXF1ZW5jeVRvSW50ZXJ2YWwiLCJ0aWNrRnJlcXVlbmN5IiwiYmV0d2VlblRpY2tDb3VudCIsImNvbnNvbGUiLCJsb2ciLCJ0b1Rocm93IiwiRXJyb3IiLCJsYWJlbCIsInVuZGVmaW5lZCIsImZpbmRMb25nZXN0V29yZCIsImxvbmdlc3RXb3JkIiwiYW1vdW50VG9JbmNyZWFzZVdpZHRoIl0sInNvdXJjZXMiOlsiLi4vLi4vc3JjL19fdGVzdHNfXy91dGlscy50ZXN0LmpzIl0sInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IEFzc2VydGlvbkVycm9yIH0gZnJvbSAnYXNzZXJ0JztcbmltcG9ydCAqIGFzIHV0aWxzIGZyb20gJy4uL3V0aWxzJztcblxuY29uc3QgeHkgPSB1dGlscy54eTtcblxuY29uc3QgdGljayA9IChpc01ham9yLCB2KSA9PiAoe1xuICBtYWpvcjogaXNNYWpvcixcbiAgdmFsdWU6IHYsXG4gIHg6IHYsXG59KTtcblxuY29uc3QgbWFqb3IgPSB0aWNrLmJpbmQobnVsbCwgdHJ1ZSk7XG5jb25zdCBtaW5vciA9IHRpY2suYmluZChudWxsLCBmYWxzZSk7XG5cbmRlc2NyaWJlKCd1dGlscycsICgpID0+IHtcbiAgZGVzY3JpYmUoJ2dldERlbHRhJywgKCkgPT4ge1xuICAgIGNvbnN0IGFzc2VydERlbHRhID0gKGZyb20sIHRvLCBkZWx0YSkgPT4ge1xuICAgICAgaXQoYHJldHVybnMgYSBkZWx0YSBvZjogJHtkZWx0YX0gZm9yICR7ZnJvbX0gLT4gJHt0b31gLCAoKSA9PiB7XG4gICAgICAgIGNvbnN0IGQgPSB1dGlscy5nZXREZWx0YShmcm9tLCB0byk7XG4gICAgICAgIGV4cGVjdChkLngpLnRvRXF1YWwoZGVsdGEueCk7XG4gICAgICAgIGV4cGVjdChkLnkpLnRvRXF1YWwoZGVsdGEueSk7XG4gICAgICB9KTtcbiAgICB9O1xuICAgIGFzc2VydERlbHRhKHh5KDAsIDApLCB4eSgwLCAxKSwgeHkoMCwgMSkpO1xuICAgIGFzc2VydERlbHRhKHh5KDAsIDEpLCB4eSgwLCAwKSwgeHkoMCwgLTEpKTtcbiAgICBhc3NlcnREZWx0YSh4eSgxLCAxKSwgeHkoMywgMyksIHh5KDIsIDIpKTtcbiAgICBhc3NlcnREZWx0YSh4eSgtMSwgLTEpLCB4eSgzLCAzKSwgeHkoNCwgNCkpO1xuICAgIGFzc2VydERlbHRhKHh5KC0xLCAtMSksIHh5KC0yLCAtNSksIHh5KC0xLCAtNCkpO1xuICB9KTtcblxuICBkZXNjcmliZSgncG9seWdvblRvQXJlYScsICgpID0+IHtcbiAgICBjb25zdCBhc3NlcnRQb2x5Z29uID0gKHBvaW50cywgYXJlYSkgPT4ge1xuICAgICAgaXQoYGNvbnZlcnRzICR7cG9pbnRzfSAtPiAke2FyZWF9YCwgKCkgPT4ge1xuICAgICAgICBjb25zdCByZXN1bHQgPSB1dGlscy5wb2x5Z29uVG9BcmVhKHBvaW50cyk7XG4gICAgICAgIGV4cGVjdChyZXN1bHQpLnRvRXF1YWwoYXJlYSk7XG4gICAgICB9KTtcbiAgICB9O1xuICAgIGFzc2VydFBvbHlnb24oW3h5KDAsIDApLCB4eSgxLCAxKSwgeHkoMSwgLTEpXSwge1xuICAgICAgbGVmdDogMCxcbiAgICAgIHRvcDogMSxcbiAgICAgIGJvdHRvbTogLTEsXG4gICAgICByaWdodDogMSxcbiAgICB9KTtcbiAgICBhc3NlcnRQb2x5Z29uKFt4eSgwLCAwKSwgeHkoMywgMCksIHh5KDIsIC0xKSwgeHkoNCwgLTMpLCB4eSgxLCAtNCksIHh5KDIsIC0yKV0sIHtcbiAgICAgIGxlZnQ6IDAsXG4gICAgICB0b3A6IDAsXG4gICAgICBib3R0b206IC00LFxuICAgICAgcmlnaHQ6IDQsXG4gICAgfSk7XG4gIH0pO1xuXG4gIGRlc2NyaWJlKCdidWlsZFRpY2tNb2RlbCcsICgpID0+IHtcbiAgICBsZXQgc2NhbGVGbjtcblxuICAgIGJlZm9yZUVhY2goKCkgPT4ge1xuICAgICAgc2NhbGVGbiA9IGplc3QuZm4oZnVuY3Rpb24odikge1xuICAgICAgICByZXR1cm4gdjtcbiAgICAgIH0pO1xuICAgIH0pO1xuXG4gICAgaXQoJ2J1aWxkcyBtYWpvciBvbmx5IHRpY2tzJywgKCkgPT4ge1xuICAgICAgbGV0IHJlc3VsdCA9IHV0aWxzLmJ1aWxkVGlja01vZGVsKHsgbWluOiAwLCBtYXg6IDIgfSwgeyBtaW5vcjogMCB9LCAxLCBzY2FsZUZuKTtcbiAgICAgIGV4cGVjdChyZXN1bHQpLnRvRXF1YWwoW21ham9yKDApLCBtYWpvcigxKSwgbWFqb3IoMildKTtcbiAgICB9KTtcblxuICAgIGl0KCdidWlsZHMgbWlub3IgKyBtYWpvciB0aWNrcycsICgpID0+IHtcbiAgICAgIGxldCByZXN1bHQgPSB1dGlscy5idWlsZFRpY2tNb2RlbCh7IG1pbjogMCwgbWF4OiAyIH0sIHsgbWlub3I6IDEgfSwgMC41LCBzY2FsZUZuKTtcbiAgICAgIGV4cGVjdChyZXN1bHQpLnRvRXF1YWwoW21ham9yKDApLCBtaW5vcigwLjUpLCBtYWpvcigxKSwgbWlub3IoMS41KSwgbWFqb3IoMildKTtcbiAgICB9KTtcbiAgfSk7XG5cbiAgZGVzY3JpYmUoJ3NuYXBUbycsICgpID0+IHtcbiAgICBsZXQgYXNzZXJ0U25hcFRvID0gKG1pbiwgbWF4LCBpbnRlcnZhbCwgdmFsdWUsIGV4cGVjdGVkKSA9PiB7XG4gICAgICBpdChgc25hcHMgJHt2YWx1ZX0gdG8gJHtleHBlY3RlZH0gd2l0aCBkb21haW4gJHttaW59PC0+JHttYXh9IHdpdGggaW50ZXJ2YWw6ICR7aW50ZXJ2YWx9IGAsICgpID0+IHtcbiAgICAgICAgbGV0IHJlc3VsdCA9IHV0aWxzLnNuYXBUbyhtaW4sIG1heCwgaW50ZXJ2YWwsIHZhbHVlKTtcbiAgICAgICAgZXhwZWN0KHJlc3VsdCkudG9FcXVhbChleHBlY3RlZCk7XG4gICAgICB9KTtcbiAgICB9O1xuXG4gICAgZGVzY3JpYmUoJ3dpdGggMCwgMTAsIDAuMjUnLCAoKSA9PiB7XG4gICAgICBsZXQgYSA9IGFzc2VydFNuYXBUby5iaW5kKG51bGwsIDAsIDEwLCAwLjI1KTtcbiAgICAgIGEoMSwgMSk7XG4gICAgICBhKDEuMiwgMS4yNSk7XG4gICAgICBhKDAuMiwgMC4yNSk7XG4gICAgICBhKDUuMiwgNS4yNSk7XG4gICAgICBhKDUuMTI1LCA1LjI1KTtcbiAgICAgIGEoNS4xMjQsIDUpO1xuICAgIH0pO1xuXG4gICAgZGVzY3JpYmUoJ3dpdGggMCwgMTAsIDEnLCAoKSA9PiB7XG4gICAgICBsZXQgYSA9IGFzc2VydFNuYXBUby5iaW5kKG51bGwsIDAsIDEwLCAxKTtcbiAgICAgIGEoMCwgMCk7XG4gICAgICBhKDEwLCAxMCk7XG4gICAgICBhKDEwMCwgMTApO1xuICAgICAgYSgxLCAxKTtcbiAgICAgIGEoMS4yLCAxKTtcbiAgICAgIGEoMC4yLCAwKTtcbiAgICAgIGEoNS4yLCA1KTtcbiAgICAgIGEoNS4wMDEsIDUpO1xuICAgIH0pO1xuICB9KTtcblxuICBkZXNjcmliZSgnZ2V0SW50ZXJ2YWwnLCAoKSA9PiB7XG4gICAgbGV0IGFzc2VydEdldEludGVydmFsID0gKG1pbiwgbWF4LCB0aWNrcywgZXhwZWN0ZWQpID0+IHtcbiAgICAgIGxldCBwYXJhbXNEZXNjcmlwdGlvbiA9IEpTT04uc3RyaW5naWZ5KHRpY2tzKTtcbiAgICAgIGl0KGBjb252ZXJ0czogJHtwYXJhbXNEZXNjcmlwdGlvbn0gdG8gJHtKU09OLnN0cmluZ2lmeShleHBlY3RlZCl9YCwgKCkgPT4ge1xuICAgICAgICBsZXQgcmVzdWx0ID0gdXRpbHMuZ2V0SW50ZXJ2YWwoeyBtaW46IG1pbiwgbWF4OiBtYXggfSwgdGlja3MpO1xuICAgICAgICBleHBlY3QocmVzdWx0KS50b0VxdWFsKGV4cGVjdGVkKTtcbiAgICAgIH0pO1xuICAgIH07XG5cbiAgICBkZXNjcmliZSgnd2l0aCBiYWQgcGFyYW1zJywgKCkgPT4ge1xuICAgICAgaXQoJ3Rocm93cyBhbiBlcnJvciBpZiBtaW4gPiBtYXgnLCAoKSA9PiB7XG4gICAgICAgIGV4cGVjdCgoKSA9PiB7XG4gICAgICAgICAgbGV0IHJlc3VsdCA9IHV0aWxzLmNvbnZlcnRGcmVxdWVuY3lUb0ludGVydmFsKFxuICAgICAgICAgICAgeyBtaW46IDExLCBtYXg6IDEwLCB0aWNrRnJlcXVlbmN5OiAxLCBiZXR3ZWVuVGlja0NvdW50OiAwIH0sXG4gICAgICAgICAgICB7IGludGVydmFsOiAxMCwgbWFqb3I6IDEwIH0sXG4gICAgICAgICAgKTtcbiAgICAgICAgICBjb25zb2xlLmxvZygncmVzdWx0OiAnLCByZXN1bHQpO1xuICAgICAgICB9KS50b1Rocm93KEVycm9yKTtcbiAgICAgIH0pO1xuXG4gICAgICBpdCgndGhyb3dzIGFuIGVycm9yIGlmIG1pbiA9IG1heCcsICgpID0+IHtcbiAgICAgICAgZXhwZWN0KCgpID0+IHtcbiAgICAgICAgICBsZXQgcmVzdWx0ID0gdXRpbHMuY29udmVydEZyZXF1ZW5jeVRvSW50ZXJ2YWwoXG4gICAgICAgICAgICB7IG1pbjogMTAsIG1heDogMTAsIHRpY2tGcmVxdWVuY3k6IDEsIGJldHdlZW5UaWNrQ291bnQ6IDAgfSxcbiAgICAgICAgICAgIHsgaW50ZXJ2YWw6IDEwLCBtYWpvcjogMTAgfSxcbiAgICAgICAgICApO1xuICAgICAgICAgIGNvbnNvbGUubG9nKCdyZXN1bHQ6ICcsIHJlc3VsdCk7XG4gICAgICAgIH0pLnRvVGhyb3coRXJyb3IpO1xuICAgICAgfSk7XG4gICAgfSk7XG5cbiAgICBkZXNjcmliZSgnd2l0aCBkb21haW4gMCAtPiAxJywgKCkgPT4ge1xuICAgICAgbGV0IGEgPSBhc3NlcnRHZXRJbnRlcnZhbC5iaW5kKG51bGwsIDAsIDEpO1xuICAgICAgYSh7IG1ham9yOiAyLCBtaW5vcjogMCB9LCAxKTtcbiAgICAgIGEoeyBtYWpvcjogMiwgbWlub3I6IDEgfSwgMC41KTtcbiAgICB9KTtcblxuICAgIGRlc2NyaWJlKCd3aXRoIGRvbWFpbiAwIC0+IDEwJywgKCkgPT4ge1xuICAgICAgbGV0IGEgPSBhc3NlcnRHZXRJbnRlcnZhbC5iaW5kKG51bGwsIDAsIDEwKTtcblxuICAgICAgaXQoJ3Rocm93cyBhbiBlcnJvciBpZiB0aGUgdGljayBmcmVxdWVuY3kgaXMgbGVzcyB0aGFuIDInLCAoKSA9PiB7XG4gICAgICAgIGV4cGVjdCgoKSA9PiB7XG4gICAgICAgICAgbGV0IHJlc3VsdCA9IHV0aWxzLmNvbnZlcnRGcmVxdWVuY3lUb0ludGVydmFsKFxuICAgICAgICAgICAgeyBtaW46IDAsIG1heDogMTAsIHRpY2tGcmVxdWVuY3k6IDEsIGJldHdlZW5UaWNrQ291bnQ6IDAgfSxcbiAgICAgICAgICAgIHsgaW50ZXJ2YWw6IDEwLCBtYWpvcjogMTAgfSxcbiAgICAgICAgICApO1xuICAgICAgICAgIGNvbnNvbGUubG9nKCdyZXN1bHQ6ICcsIHJlc3VsdCk7XG4gICAgICAgIH0pLnRvVGhyb3coRXJyb3IpO1xuICAgICAgfSk7XG5cbiAgICAgIGEoeyBtYWpvcjogMiwgbWlub3I6IDkgfSwgMSk7XG4gICAgICBhKHsgbWFqb3I6IDIsIG1pbm9yOiAwIH0sIDEwKTtcbiAgICAgIGEoeyBtYWpvcjogMywgbWlub3I6IDAgfSwgNSk7XG4gICAgICBhKHsgbWFqb3I6IDMsIG1pbm9yOiAxIH0sIDIuNSk7XG4gICAgICBhKHsgbWFqb3I6IDQsIG1pbm9yOiAwIH0sIDMuMzMzMyk7XG4gICAgICBhKHsgbWFqb3I6IDUsIG1pbm9yOiAwIH0sIDIuNSk7XG4gICAgICBhKHsgbWFqb3I6IDYsIG1pbm9yOiAwIH0sIDIpO1xuICAgICAgYSh7IG1ham9yOiA3LCBtaW5vcjogMCB9LCAxLjY2NjcpO1xuICAgICAgYSh7IG1ham9yOiA4LCBtaW5vcjogMCB9LCAxLjQyODYpO1xuICAgICAgYSh7IG1ham9yOiA5LCBtaW5vcjogMCB9LCAxLjI1KTtcbiAgICAgIGEoeyBtYWpvcjogMTAsIG1pbm9yOiAwIH0sIDEuMTExMSk7XG4gICAgICBhKHsgbWFqb3I6IDExLCBtaW5vcjogMCB9LCAxKTtcbiAgICAgIGEoeyBtYWpvcjogMTEsIG1pbm9yOiAxIH0sIDAuNSk7XG4gICAgICBhKHsgbWFqb3I6IDExLCBtaW5vcjogMiB9LCAwLjMzMzMpO1xuICAgIH0pO1xuXG4gICAgZGVzY3JpYmUoJ3dpdGggZG9tYWluIDAgLT4gMTAwJywgKCkgPT4ge1xuICAgICAgbGV0IGEgPSBhc3NlcnRHZXRJbnRlcnZhbC5iaW5kKG51bGwsIDAsIDEwMCk7XG4gICAgICBhKHsgbWFqb3I6IDExLCBtaW5vcjogMSB9LCA1KTtcbiAgICAgIGEoeyBtYWpvcjogMTAxLCBtaW5vcjogMCB9LCAxKTtcbiAgICB9KTtcblxuICAgIGRlc2NyaWJlKCd3aXRoIGRvbWFpbiAtNSAtIDUnLCAoKSA9PiB7XG4gICAgICBsZXQgYSA9IGFzc2VydEdldEludGVydmFsLmJpbmQobnVsbCwgLTUsIDUpO1xuICAgICAgYSh7IG1ham9yOiAxMSwgbWlub3I6IDAgfSwgMSk7XG4gICAgfSk7XG5cbiAgICBkZXNjcmliZSgnd2l0aCBkb21haW4gMCAtIDUnLCAoKSA9PiB7XG4gICAgICBsZXQgYSA9IGFzc2VydEdldEludGVydmFsLmJpbmQobnVsbCwgMCwgNSk7XG4gICAgICBhKHsgbWFqb3I6IDExLCBtaW5vcjogMCB9LCAwLjUpO1xuICAgICAgYSh7IG1ham9yOiAxMSwgbWlub3I6IDIgfSwgMC4xNjY3KTtcbiAgICAgIGEoeyBtYWpvcjogMTEsIG1pbm9yOiAxIH0sIDAuMjUpO1xuICAgIH0pO1xuICB9KTtcblxuICBkZXNjcmliZSgnZmluZExvbmdlc3RXb3JkJywgKCkgPT4ge1xuICAgIGl0KCdzaG91bGQgcmV0dXJuIDAgaWYgbGFiZWwgaXMgdW5kZWZpbmVkJywgKCkgPT4ge1xuICAgICAgY29uc3QgbGFiZWwgPSB1bmRlZmluZWQ7XG4gICAgICBjb25zdCByZXN1bHQgPSB1dGlscy5maW5kTG9uZ2VzdFdvcmQobGFiZWwpO1xuXG4gICAgICBleHBlY3QocmVzdWx0KS50b0VxdWFsKDApO1xuICAgIH0pO1xuXG4gICAgaXQoJ3Nob3VsZCByZXR1cm4gMCBpZiBsYWJlbCBpcyBudWxsJywgKCkgPT4ge1xuICAgICAgY29uc3QgbGFiZWwgPSBudWxsO1xuICAgICAgY29uc3QgcmVzdWx0ID0gdXRpbHMuZmluZExvbmdlc3RXb3JkKGxhYmVsKTtcblxuICAgICAgZXhwZWN0KHJlc3VsdCkudG9FcXVhbCgwKTtcbiAgICB9KTtcblxuICAgIGl0KCdzaG91bGQgcmV0dXJuIDYgaWYgdGhlIGxvbmdlc3Qgd29yZCBmcm9tIGxhYmVsIGhhcyA2IGxldHRlcnMnLCAoKSA9PiB7XG4gICAgICBjb25zdCBsYWJlbCA9ICdOdW1iZXIgb2YgbW9udGhzJztcbiAgICAgIGNvbnN0IHJlc3VsdCA9IHV0aWxzLmZpbmRMb25nZXN0V29yZChsYWJlbCk7XG5cbiAgICAgIGV4cGVjdChyZXN1bHQpLnRvRXF1YWwoNik7XG4gICAgfSk7XG4gIH0pO1xuXG4gIGRlc2NyaWJlKCdhbW91bnRUb0luY3JlYXNlV2lkdGgnLCAoKSA9PiB7XG4gICAgaXQoJ3Nob3VsZCByZXR1cm4gMCBpZiBsb25nZXN0V29yZCBpcyB1bmRlZmluZWQnLCAoKSA9PiB7XG4gICAgICBjb25zdCBsb25nZXN0V29yZCA9IHVuZGVmaW5lZDtcbiAgICAgIGNvbnN0IHJlc3VsdCA9IHV0aWxzLmFtb3VudFRvSW5jcmVhc2VXaWR0aChsb25nZXN0V29yZCk7XG5cbiAgICAgIGV4cGVjdChyZXN1bHQpLnRvRXF1YWwoMCk7XG4gICAgfSk7XG5cbiAgICBpdCgnc2hvdWxkIHJldHVybiAwIGlmIGxvbmdlc3RXb3JkIGlzIG51bGwnLCAoKSA9PiB7XG4gICAgICBjb25zdCBsb25nZXN0V29yZCA9IG51bGw7XG4gICAgICBjb25zdCByZXN1bHQgPSB1dGlscy5hbW91bnRUb0luY3JlYXNlV2lkdGgobG9uZ2VzdFdvcmQpO1xuXG4gICAgICBleHBlY3QocmVzdWx0KS50b0VxdWFsKDApO1xuICAgIH0pO1xuXG4gICAgaXQoJ3Nob3VsZCByZXR1cm4gMTUwIGlmIGxvbmdlc3RXb3JkIGlzIDEwJywgKCkgPT4ge1xuICAgICAgY29uc3QgbG9uZ2VzdFdvcmQgPSAxMDtcbiAgICAgIGNvbnN0IHJlc3VsdCA9IHV0aWxzLmFtb3VudFRvSW5jcmVhc2VXaWR0aChsb25nZXN0V29yZCk7XG5cbiAgICAgIGV4cGVjdChyZXN1bHQpLnRvRXF1YWwoMjAwKTtcbiAgICB9KTtcbiAgfSk7XG59KTtcbiJdLCJtYXBwaW5ncyI6Ijs7O0FBQUEsSUFBQUEsT0FBQSxHQUFBQyxPQUFBO0FBQ0EsSUFBQUMsS0FBQSxHQUFBQyx1QkFBQSxDQUFBRixPQUFBO0FBQWtDLFNBQUFFLHdCQUFBQyxDQUFBLEVBQUFDLENBQUEsNkJBQUFDLE9BQUEsTUFBQUMsQ0FBQSxPQUFBRCxPQUFBLElBQUFF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QU0sQ0FBQztRQUNqQyxDQUFDLENBQUMsQ0FBQzZCLE9BQU8sQ0FBQ0MsS0FBSyxDQUFDO01BQ25CLENBQUMsQ0FBQztNQUVGYixDQUFDLENBQUM7UUFBRXJDLEtBQUssRUFBRSxDQUFDO1FBQUVJLEtBQUssRUFBRTtNQUFFLENBQUMsRUFBRSxDQUFDLENBQUM7TUFDNUJpQyxDQUFDLENBQUM7UUFBRXJDLEtBQUssRUFBRSxDQUFDO1FBQUVJLEtBQUssRUFBRTtNQUFFLENBQUMsRUFBRSxFQUFFLENBQUM7TUFDN0JpQyxDQUFDLENBQUM7UUFBRXJDLEtBQUssRUFBRSxDQUFDO1FBQUVJLEtBQUssRUFBRTtNQUFFLENBQUMsRUFBRSxDQUFDLENBQUM7TUFDNUJpQyxDQUFDLENBQUM7UUFBRXJDLEtBQUssRUFBRSxDQUFDO1FBQUVJLEtBQUssRUFBRTtNQUFFLENBQUMsRUFBRSxHQUFHLENBQUM7TUFDOUJpQyxDQUFDLENBQUM7UUFBRXJDLEtBQUssRUFBRSxDQUFDO1FBQUVJLEtBQUssRUFBRTtNQUFFLENBQUMsRUFBRSxNQUFNLENBQUM7TUFDakNpQyxDQUFDLENBQUM7UUFBRXJDLEtBQUssRUFBRSxDQUFDO1FBQUVJLEtBQUssRUFBRTtNQUFFLENBQUMsRUFBRSxHQUFHLENBQUM7TUFDOUJpQyxDQUFDLENBQUM7UUFBRXJDLEtBQUssRUFBRSxDQUFDO1FBQUVJLEtBQUssRUFBRTtNQUFFLENBQUMsRUFBRSxDQUFDLENBQUM7TUFDNUJpQyxDQUFDLENBQUM7UUFBRXJDLEtBQUssRUFBRSxDQUFDO1FBQUVJLEtBQUssRUFBRTtNQUFFLENBQUMsRUFBRSxNQUFNLENBQUM7TUFDakNpQyxDQUFDLENBQUM7UUFBRXJDLEtBQUssRUFBRSxDQUFDO1FBQUVJLEtBQUssRUFBRTtNQUFFLENBQUMsRUFBRSxNQUFNLENBQUM7TUFDakNpQyxDQUFDLENBQUM7UUFBRXJDLEtBQUssRUFBRSxDQUFDO1FBQUVJLEtBQUssRUFBRTtNQUFFLENBQUMsRUFBRSxJQUFJLENBQUM7TUFDL0JpQyxDQUFDLENBQUM7UUFBRXJD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
package/lib/draggable.js CHANGED
@@ -41,4 +41,4 @@ var LocalDraggable = exports["default"] = /*#__PURE__*/function (_Draggable) {
41
41
  }
42
42
  }]);
43
43
  }(_reactDraggable["default"]);
44
- //# sourceMappingURL=draggable.js.map
44
+ //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJuYW1lcyI6WyJfcmVhY3REcmFnZ2FibGUiLCJfaW50ZXJvcFJlcXVpcmVXaWxkY2FyZCIsInJlcXVpcmUiLCJlIiwidCIsIldlYWtNYXAiLCJyIiwibiIsIl9fZXNNb2R1bGUiLCJvIiwiaSIsImYiLCJfX3Byb3RvX18iLCJfdHlwZW9mIiwiaGFzIiwiZ2V0Iiwic2V0IiwiX3QiLCJoYXNPd25Qcm9wZXJ0eSIsImNhbGwiLCJPYmplY3QiLCJkZWZpbmVQcm9wZXJ0eSIsImdldE93blByb3BlcnR5RGVzY3JpcHRvciIsIl9jYWxsU3VwZXIiLCJfZ2V0UHJvdG90eXBlT2YyIiwiX3Bvc3NpYmxlQ29uc3RydWN0b3JSZXR1cm4yIiwiX2lzTmF0aXZlUmVmbGVjdENvbnN0cnVjdCIsIlJlZmxlY3QiLCJjb25zdHJ1Y3QiLCJjb25zdHJ1Y3RvciIsImFwcGx5IiwiQm9vbGVhbiIsInByb3RvdHlwZSIsInZhbHVlT2YiLCJfc3VwZXJQcm9wR2V0IiwicCIsIl9nZXQyIiwiTG9jYWxEcmFnZ2FibGUiLCJleHBvcnRzIiwiX0RyYWdnYWJsZSIsIl9jbGFzc0NhbGxDaGVjazIiLCJhcmd1bWVudHMiLCJfaW5oZXJpdHMyIiwiX2NyZWF0ZUNsYXNzMiIsImtleSIsInZhbHVlIiwiY29tcG9uZW50V2lsbFJlY2VpdmVQcm9wcyIsIm5leHQiLCJzZXRTdGF0ZSIsIngiLCJ5IiwiRHJhZ2dhYmxlIl0sInNvdXJjZXMiOlsiLi4vc3JjL2RyYWdnYWJsZS5qc3giXSwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IERyYWdnYWJsZSwgeyBEcmFnZ2FibGVDb3JlIH0gZnJvbSAncmVhY3QtZHJhZ2dhYmxlJztcblxuZXhwb3J0IGRlZmF1bHQgY2xhc3MgTG9jYWxEcmFnZ2FibGUgZXh0ZW5kcyBEcmFnZ2FibGUge1xuICBjb21wb25lbnRXaWxsUmVjZWl2ZVByb3BzKG5leHQpIHtcbiAgICBzdXBlci5jb21wb25lbnRXaWxsUmVjZWl2ZVByb3BzKG5leHQpO1xuICAgIC8vUmVtb3ZlIHRoZSB4L3kgc3RhdGUgYXMgdGhlc2UgdmFsdWVzIGhhdmUgbm93IGJlZW4gdXBkYXRlZCBhbmQgd2lsbCBjb21lIHRocm91Z2ggYXMgcHJvcHMuXG4gICAgdGhpcy5zZXRTdGF0ZSh7IHg6IDAsIHk6IDAgfSk7XG4gIH1cbn1cblxuZXhwb3J0IHsgRHJhZ2dhYmxlQ29yZSB9O1xuIl0sIm1hcHBpbmdzIjoiOzs7Ozs7Ozs7Ozs7Ozs7Ozs7OztBQUFBLElBQUFBLGVBQUEsR0FBQUMsdUJBQUEsQ0FBQUMsT0FBQTtBQUEyRCxTQUFBRCx3QkFBQUUsQ0FBQSxFQUFBQyxDQUFBLDZCQUFBQyxPQUFBLE1BQUFDLENBQUEsT0FBQUQsT0FBQSxJQUFBRSxDQUFBLE9BQUFGLE9BQUEsWUFBQUosdUJBQUEsWUFBQUEsd0JBQUFFLENBQUEsRUFBQUMsQ0FBQSxTQUFBQSxDQUFBLElBQUFELENBQUEsSUFBQUEsQ0FBQSxDQUFBSyxVQUFBLFNBQUFMLENBQUEsTUFBQU0sQ0FBQSxFQUFBQyxDQUFBLEVBQUFDLENBQUEsS0FBQUMsU0FBQSxtQkFBQVQsQ0FBQSxpQkFBQUEsQ0FBQSxnQkFBQVUsT0FBQSxDQUFBVixDQUFBLDBCQUFBQSxDQUFBLFNBQUFRLENBQUEsTUFBQUYsQ0FBQSxHQUFBTCxDQUFBLEdBQUFHLENBQUEsR0FBQUQsQ0FBQSxRQUFBRyxDQUFBLENBQUFLLEdBQUEsQ0FBQVgsQ0FBQSxVQUFBTSxDQUFBLENBQUFNLEdBQUEsQ0FBQVosQ0FBQSxHQUFBTSxDQUFBLENBQUFPLEdBQUEsQ0FBQWIsQ0FBQSxFQUFBUSxDQUFBLGNBQUFNLEVBQUEsSUFBQWQsQ0FBQSxnQkFBQWMsRUFBQSxPQUFBQyxjQUFBLENBQUFDLElBQUEsQ0FBQWhCLENBQUEsRUFBQWMsRUFBQSxPQUFBUCxDQUFBLElBQUFELENBQUEsR0FBQVcsTUFBQSxDQUFBQyxjQUFBLEtBQUFELE1BQUEsQ0FBQUUsd0JBQUEsQ0FBQW5CLENBQUEsRUFBQWMsRUFBQSxPQUFBUCxDQUFBLENBQUFLLEdBQUEsSUFBQUwsQ0FBQSxDQUFBTSxHQUFBLElBQUFQLENBQUEsQ0FBQUUsQ0FBQSxFQUFBTSxFQUFBLEVBQUFQLENBQUEsSUFBQUMsQ0FBQSxDQUFBTSxFQUFBLElBQUFkLENBQUEsQ0FBQWMsRUFBQSxXQUFBTixDQUFBLEtBQUFSLENBQUEsRUFBQUMsQ0FBQTtBQUFBLFNBQUFtQixXQUFBbkIsQ0FBQSxFQUFBSyxDQUFBLEVBQUFOLENBQUEsV0FBQU0sQ0FBQSxPQUFBZSxnQkFBQSxhQUFBZixDQUFBLE9BQUFnQiwyQkFBQSxhQUFBckIsQ0FBQSxFQUFBc0IseUJBQUEsS0FBQUMsT0FBQSxDQUFBQyxTQUFBLENBQUFuQixDQUFBLEVBQUFOLENBQUEsWUFBQXFCLGdCQUFBLGFBQUFwQixDQUFBLEVBQUF5QixXQUFBLElBQUFwQixDQUFBLENBQUFxQixLQUFBLENBQUExQixDQUFBLEVBQUFELENBQUE7QUFBQSxTQUFBdUIsMEJBQUEsY0FBQXRCLENBQUEsSUFBQTJCLE9BQUEsQ0FBQUMsU0FBQSxDQUFBQyxPQUFBLENBQUFkLElBQUEsQ0FBQVEsT0FBQSxDQUFBQyxTQUFBLENBQUFHLE9BQUEsaUNBQUEzQixDQUFBLGFBQUFzQix5QkFBQSxZQUFBQSwwQkFBQSxhQUFBdEIsQ0FBQTtBQUFBLFNBQUE4QixjQUFBOUIsQ0FBQSxFQUFBSyxDQUFBLEVBQUFOLENBQUEsRUFBQUcsQ0FBQSxRQUFBNkIsQ0FBQSxPQUFBQyxLQUFBLGlCQUFBWixnQkFBQSxpQkFBQWxCLENBQUEsR0FBQUYsQ0FBQSxDQUFBNEIsU0FBQSxHQUFBNUIsQ0FBQSxHQUFBSyxDQUFBLEVBQUFOLENBQUEsY0FBQUcsQ0FBQSx5QkFBQTZCLENBQUEsYUFBQS9CLENBQUEsV0FBQStCLENBQUEsQ0FBQUwsS0FBQSxDQUFBM0IsQ0FBQSxFQUFBQyxDQUFBLE9BQUErQixDQUFBO0FBQUEsSUFFdENFLGNBQWMsR0FBQUMsT0FBQSxxQ0FBQUMsVUFBQTtFQUFBLFNBQUFGLGVBQUE7SUFBQSxJQUFBRyxnQkFBQSxtQkFBQUgsY0FBQTtJQUFBLE9BQUFkLFVBQUEsT0FBQWMsY0FBQSxFQUFBSSxTQUFBO0VBQUE7RUFBQSxJQUFBQyxVQUFBLGFBQUFMLGNBQUEsRUFBQUUsVUFBQTtFQUFBLFdBQUFJLGFBQUEsYUFBQU4sY0FBQTtJQUFBTyxHQUFBO0lBQUFDLEtBQUEsRUFDakMsU0FBQUMseUJBQXlCQSxDQUFDQyxJQUFJLEVBQUU7TUFDOUJiLGFBQUEsQ0FBQUcsY0FBQSx5Q0FBZ0NVLElBQUk7TUFDcEM7TUFDQSxJQUFJLENBQUNDLFFBQVEsQ0FBQztRQUFFQyxDQUFDLEVBQUUsQ0FBQztRQUFFQyxDQUFDLEVBQUU7TUFBRSxDQUFDLENBQUM7SUFDL0I7RUFBQztBQUFBLEVBTHlDQywwQkFBUyIsImlnbm9yZUxpc3QiOltdfQ==
@@ -43,4 +43,4 @@ var create = exports.create = function create(domain, range, size, getRootNode)
43
43
  getRootNode: getRootNode
44
44
  };
45
45
  };
46
- //# sourceMappingURL=graph-props.js.map
46
+ //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJuYW1lcyI6WyJfaW52YXJpYW50IiwiX2ludGVyb3BSZXF1aXJlRGVmYXVsdCIsInJlcXVpcmUiLCJfdXRpbHMiLCJfZDNTY2FsZSIsImNyZWF0ZVNuYXBNaW5BbmRNYXgiLCJfcmVmIiwibWluIiwibWF4Iiwic3RlcCIsInBhcnNlSW50IiwiY3JlYXRlIiwiZXhwb3J0cyIsImRvbWFpbiIsInJhbmdlIiwic2l6ZSIsImdldFJvb3ROb2RlIiwiaW52YXJpYW50IiwiZG9tYWluTWluTWF4IiwicmFuZ2VNaW5NYXgiLCJzY2FsZSIsIngiLCJzY2FsZUxpbmVhciIsIndpZHRoIiwieSIsImhlaWdodCIsInNuYXAiLCJzbmFwVG8iLCJiaW5kIl0sInNvdXJjZXMiOlsiLi4vc3JjL2dyYXBoLXByb3BzLmpzIl0sInNvdXJjZXNDb250ZW50IjpbImltcG9ydCBpbnZhcmlhbnQgZnJvbSAnaW52YXJpYW50JztcbmltcG9ydCB7IHNuYXBUbyB9IGZyb20gJy4vdXRpbHMnO1xuaW1wb3J0IHsgc2NhbGVMaW5lYXIgfSBmcm9tICdkMy1zY2FsZSc7XG5cbmNvbnN0IGNyZWF0ZVNuYXBNaW5BbmRNYXggPSAoeyBtaW4sIG1heCwgc3RlcCB9KSA9PiB7XG4gIC8vIGZvciBncmFwaGluZywgaWYgc3RlcCBpcyBhIHZhbHVlIHdpdGggZGVjaW1hbHMsIHdlIGhhdmUgdG8gY2FsY3VsYXRlIHRoZSBtaW4gJiBtYXggZm9yIHRoZSBncmlkIHRha2luZyBpbiBjb25zaWRlcmF0aW9uIHRoYXQgMCBoYXMgdG8gYmUgZXhhY3RseSBpbiB0aGUgbWlkZGxlXG4gIC8vIGZvciBleGFtcGxlLCBpZiBtaW46IC01ICYgbWF4OiA1ICYgc3RlcDogMC43NSwgaW4gb3JkZXIgdG8ga2VlcCAwIGluIHRoZSBtaWRkbGUgd2UgaGF2ZSB0byBzZXQgbWluOiAtNC41ICYgbWF4OiA0LjVcblxuICByZXR1cm4ge1xuICAgIHN0ZXAsXG4gICAgbWluOiBwYXJzZUludChtaW4gLyBzdGVwKSAqIHN0ZXAsXG4gICAgbWF4OiBwYXJzZUludChtYXggLyBzdGVwKSAqIHN0ZXAsXG4gIH07XG59O1xuXG5leHBvcnQgY29uc3QgY3JlYXRlID0gKGRvbWFpbiwgcmFuZ2UsIHNpemUsIGdldFJvb3ROb2RlKSA9PiB7XG4gIGludmFyaWFudChkb21haW4ubWluIDwgZG9tYWluLm1heCwgJ2RvbWFpbjogbWluIG11c3QgYmUgbGVzcyB0aGFuIG1heCcpO1xuICBpbnZhcmlhbnQocmFuZ2UubWluIDwgcmFuZ2UubWF4LCAncmFuZ2U6IG1pbiBtdXN0IGJlIGxlc3MgdGhhbiBtYXgnKTtcblxuICBjb25zdCBkb21haW5NaW5NYXggPSBjcmVhdGVTbmFwTWluQW5kTWF4KGRvbWFpbik7XG4gIGNvbnN0IHJhbmdlTWluTWF4ID0gY3JlYXRlU25hcE1pbkFuZE1heChyYW5nZSk7XG5cbiAgY29uc3Qgc2NhbGUgPSB7XG4gICAgeDogc2NhbGVMaW5lYXIoKVxuICAgICAgLmRvbWFpbihbZG9tYWluLm1pbiwgZG9tYWluLm1heF0pXG4gICAgICAucmFuZ2UoWzAsIHNpemUud2lkdGhdKSxcbiAgICB5OiBzY2FsZUxpbmVhcigpXG4gICAgICAuZG9tYWluKFtyYW5nZS5tYXgsIHJhbmdlLm1pbl0pXG4gICAgICAucmFuZ2UoWzAsIHNpemUuaGVpZ2h0XSksXG4gIH07XG5cbiAgY29uc3Qgc25hcCA9IHtcbiAgICB4OiBzbmFwVG8uYmluZChudWxsLCBkb21haW5NaW5NYXgubWluLCBkb21haW5NaW5NYXgubWF4LCBkb21haW5NaW5NYXguc3RlcCksXG4gICAgeTogc25hcFRvLmJpbmQobnVsbCwgcmFuZ2VNaW5NYXgubWluLCByYW5nZU1pbk1heC5tYXgsIHJhbmdlTWluTWF4LnN0ZXApLFxuICB9O1xuXG4gIHJldHVybiB7IHNjYWxlLCBzbmFwLCBkb21haW4sIHJhbmdlLCBzaXplLCBnZXRSb290Tm9kZSB9O1xufTtcbiJdLCJtYXBwaW5ncyI6Ijs7Ozs7OztBQUFBLElBQUFBLFVBQUEsR0FBQUMsc0JBQUEsQ0FBQUMsT0FBQTtBQUNBLElB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
@@ -304,4 +304,4 @@ var gridDraggable = exports.gridDraggable = function gridDraggable(opts) {
304
304
  }), _GridDraggable;
305
305
  };
306
306
  };
307
- //# sourceMappingURL=grid-draggable.js.map
307
+ //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJuYW1lcyI6WyJfcmVhY3QiLCJfaW50ZXJvcFJlcXVpcmVEZWZhdWx0IiwicmVxdWlyZSIsIl9wcm9wVHlwZXMiLCJfdHlwZXMiLCJfZHJhZ2dhYmxlIiwiX2RlYnVnIiwidXRpbHMiLCJfaW50ZXJvcFJlcXVpcmVXaWxkY2FyZCIsIl9pc0Z1bmN0aW9uIiwiX2ludmFyaWFudCIsIl9kM1NlbGVjdGlvbiIsIl9leGNsdWRlZCIsImUiLCJ0IiwiV2Vha01hcCIsInIiLCJuIiwiX19lc01vZHVsZSIsIm8iLCJpIiwiZiIsIl9fcHJvdG9fXyIsIl90eXBlb2YiLCJoYXMiLCJnZXQiLCJzZXQiLCJfdCIsImhhc093blByb3BlcnR5IiwiY2FsbCIsIk9iamVjdCIsImRlZmluZVByb3BlcnR5IiwiZ2V0T3duUHJvcGVydHlEZXNjcmlwdG9yIiwiX2NhbGxTdXBlciIsIl9nZXRQcm90b3R5cGVPZjIiLCJfcG9zc2libGVDb25zdHJ1Y3RvclJldHVybjIiLCJfaXNOYXRpdmVSZWZsZWN0Q29uc3RydWN0IiwiUmVmbGVjdCIsImNvbnN0cnVjdCIsImNvbnN0cnVjdG9yIiwiYXBwbHkiLCJCb29sZWFuIiwicHJvdG90eXBlIiwidmFsdWVPZiIsImxvZyIsImRlYnVnIiwiZGVsdGFGbiIsImV4cG9ydHMiLCJzY2FsZSIsInNuYXAiLCJ2YWwiLCJkZWx0YSIsIm5vcm1hbGl6ZWQiLCJpbnZlcnRlZCIsImludmVydCIsImZpeERlY2ltYWxzQXJpdGhtZXRpYyIsInRvRml4ZWQiLCJncmlkRHJhZ2dhYmxlIiwib3B0cyIsIkNvbXAiLCJfR3JpZERyYWdnYWJsZSIsImludmFyaWFudCIsImlzRnVuY3Rpb24iLCJmcm9tRGVsdGEiLCJib3VuZHMiLCJhbmNob3JQb2ludCIsIl9SZWFjdCRDb21wb25lbnQiLCJHcmlkRHJhZ2dhYmxlIiwicHJvcHMiLCJfdGhpcyIsIl9jbGFzc0NhbGxDaGVjazIiLCJfZGVmaW5lUHJvcGVydHkyIiwiZ3JhcGhQcm9wcyIsImRvbWFpbiIsInJhbmdlIiwieCIsInN0ZXAiLCJ5Iiwib25EcmFnU3RhcnQiLCJkb2N1bWVudCIsImFjdGl2ZUVsZW1lbnQiLCJibHVyIiwic2V0U3RhdGUiLCJzdGFydFgiLCJjbGllbnRYIiwic3RhcnRZIiwiY2xpZW50WSIsIl9vcHRzJGFuY2hvclBvaW50Iiwia2V5IiwiZXZlbnQiLCJLIiwidG9VcHBlckNhc2UiLCJlbmQiLCJjb25jYXQiLCJzdGFydCIsInN0YXRlIiwiTWF0aCIsImFicyIsIm91dCIsImdyaWQiLCJzY2FsZWQiLCJsZWZ0IiwicmlnaHQiLCJ0b3AiLCJib3R0b20iLCJub2RlIiwic3ZnIiwib3duZXJTVkdFbGVtZW50IiwiY3JlYXRlU1ZHUG9pbnQiLCJwb2ludCIsInRvdWNoZXMiLCJsZW5ndGgiLCJ0b3VjaCIsImdldFNjcmVlbkNUTSIsIm1hdHJpeFRyYW5zZm9ybSIsImludmVyc2UiLCJyZWN0IiwiZ2V0Qm91bmRpbmdDbGllbnRSZWN0IiwiY2xpZW50TGVmdCIsImNsaWVudFRvcCIsImRkIiwicm9vdE5vZGUiLCJnZXRSb290Tm9kZSIsImNsaWVudFBvaW50IiwiZ2V0Q2xpZW50UG9pbnQiLCJfY2xpZW50UG9pbnQiLCJfc2xpY2VkVG9BcnJheTIiLCJyYXdYIiwicmF3WSIsInhPdXRzaWRlIiwiZGVsdGFYIiwibWluIiwibWF4IiwieU91dHNpZGUiLCJkZWx0YVkiLCJfdGhpcyRwcm9wcyIsIm9uRHJhZyIsImdldFNjYWxlZEJvdW5kcyIsInNraXBEcmFnT3V0c2lkZU9mQm91bmRzIiwiZHJhZ0FyZyIsImFwcGx5RGVsdGEiLCJ1bmRlZmluZWQiLCJwb3MiLCJwb3NpdGlvbiIsInAiLCJnZXREZWx0YSIsIl90aGlzJHByb3BzMiIsIm9uRHJhZ1N0b3AiLCJvbkNsaWNrIiwibGFzdFgiLCJsYXN0WSIsImlzQ2xpY2siLCJ0aW55IiwiX2NsaWVudFBvaW50MiIsInRhcmdldCIsIl9jbGllbnRQb2ludDMiLCJfaW5oZXJpdHMyIiwiX2NyZWF0ZUNsYXNzMiIsInZhbHVlIiwicmVuZGVyIiwiX3RoaXMkcHJvcHMzIiwiZGlzYWJsZWQiLCJyZXN0IiwiX29iamVjdFdpdGhvdXRQcm9wZXJ0aWVzMiIsIm9uTW91c2VEb3duIiwibmF0aXZlRXZlbnQiLCJwcmV2ZW50RGVmYXVsdCIsImlzRHJhZ2dpbmciLCJjcmVhdGVFbGVtZW50IiwiRHJhZ2dhYmxlQ29yZSIsIm9uU3RhcnQiLCJvblN0b3AiLCJheGlzIiwiX2V4dGVuZHMyIiwiUmVhY3QiLCJDb21wb25lbnQiLCJQcm9wVHlwZXMiLCJib29sIiwiZnVuYyIsIm9uTW92ZSIsIkdyYXBoUHJvcHNUeXBlIiwiaXNSZXF1aXJlZCJdLCJzb3VyY2VzIjpbIi4uL3NyYy9ncmlkLWRyYWdnYWJsZS5qc3giXSwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IFJlYWN0IGZyb20gJ3JlYWN0JztcbmltcG9ydCBQcm9wVHlwZXMgZnJvbSAncHJvcC10eXBlcyc7XG5pbXBvcnQgeyBHcmFwaFByb3BzVHlwZSB9IGZyb20gJy4vdHlwZXMnO1xuaW1wb3J0IHsgRHJhZ2dhYmxlQ29yZSB9IGZyb20gJy4vZHJhZ2dhYmxlJztcbmltcG9ydCBkZWJ1ZyBmcm9tICdkZWJ1Zyc7XG5pbXBvcnQgKiBhcyB1dGlscyBmcm9tICcuL3V0aWxzJztcbmltcG9ydCBpc0Z1bmN0aW9uIGZyb20gJ2xvZGFzaC9pc0Z1bmN0aW9uJztcbmltcG9ydCBpbnZhcmlhbnQgZnJvbSAnaW52YXJpYW50JztcbmltcG9ydCB7IGNsaWVudFBvaW50IH0gZnJvbSAnZDMtc2VsZWN0aW9uJztcblxuY29uc3QgbG9nID0gZGVidWcoJ3BpZS1saWI6cGxvdDpncmlkLWRyYWdnYWJsZScpO1xuXG5leHBvcnQgY29uc3QgZGVsdGFGbiA9IChzY2FsZSwgc25hcCwgdmFsKSA9PiAoZGVsdGEpID0+IHtcbiAgY29uc3Qgbm9ybWFsaXplZCA9IGRlbHRhICsgc2NhbGUoMCk7XG4gIGNvbnN0IGludmVydGVkID0gc2NhbGUuaW52ZXJ0KG5vcm1hbGl6ZWQpO1xuXG4gIGNvbnN0IGZpeERlY2ltYWxzQXJpdGhtZXRpYyA9IChzbmFwKHZhbCArIGludmVydGVkKS50b0ZpeGVkKDQpICogMTAwMCkgLyAxMDAwO1xuXG4gIHJldHVybiBmaXhEZWNpbWFsc0FyaXRobWV0aWM7XG59O1xuXG4vKipcbiAqIENyZWF0ZXMgYSBDb21wb25lbnQgdGhhdCBpcyBkcmFnZ2FibGUsIHdpdGhpbiBhIGJvdW5kZWQgZ3JpZC5cbiAqIEBwYXJhbSB7Kn0gb3B0c1xuICovXG5leHBvcnQgY29uc3QgZ3JpZERyYWdnYWJsZSA9IChvcHRzKSA9PiAoQ29tcCkgPT4ge1xuICBpbnZhcmlhbnQoXG4gICAgISFvcHRzICYmIGlzRnVuY3Rpb24ob3B0cy5mcm9tRGVsdGEpICYmIGlzRnVuY3Rpb24ob3B0cy5ib3VuZHMpICYmIGlzRnVuY3Rpb24ob3B0cy5hbmNob3JQb2ludCksXG4gICAgJ1lvdSBtdXN0IHN1cHBseSBhbiBvYmplY3Qgd2l0aDogeyBhbmNob3JQb2ludDogRnVuY3Rpb24sIGZyb21EZWx0YTogRnVuY3Rpb24sIGJvdW5kczogRnVuY3Rpb24gfScsXG4gICk7XG4gIHJldHVybiBjbGFzcyBHcmlkRHJhZ2dhYmxlIGV4dGVuZHMgUmVhY3QuQ29tcG9uZW50IHtcbiAgICBzdGF0aWMgcHJvcFR5cGVzID0ge1xuICAgICAgZGlzYWJsZWQ6IFByb3BUeXBlcy5ib29sLFxuICAgICAgb25EcmFnU3RhcnQ6IFByb3BUeXBlcy5mdW5jLFxuICAgICAgb25EcmFnOiBQcm9wVHlwZXMuZnVuYyxcbiAgICAgIG9uRHJhZ1N0b3A6IFByb3BUeXBlcy5mdW5jLFxuICAgICAgb25DbGljazogUHJvcFR5cGVzLmZ1bmMsXG4gICAgICBvbk1vdmU6IFByb3BUeXBlcy5mdW5jLFxuICAgICAgZ3JhcGhQcm9wczogR3JhcGhQcm9wc1R5cGUuaXNSZXF1aXJlZCxcbiAgICB9O1xuXG4gICAgY29uc3RydWN0b3IocHJvcHMpIHtcbiAgICAgIHN1cGVyKHByb3BzKTtcbiAgICAgIHRoaXMuc3RhdGUgPSB7XG4gICAgICAgIHN0YXJ0WDogbnVsbCxcbiAgICAgICAgc3RhcnRZOiBudWxsLFxuICAgICAgfTtcbiAgICB9XG5cbiAgICBncmlkID0gKCkgPT4ge1xuICAgICAgY29uc3QgeyBncmFwaFByb3BzIH0gPSB0aGlzLnByb3BzO1xuICAgICAgY29uc3QgeyBzY2FsZSwgZG9tYWluLCByYW5nZSB9ID0gZ3JhcGhQcm9wcztcbiAgICAgIHJldHVybiB7XG4gICAgICAgIHg6IHNjYWxlLngoZG9tYWluLnN0ZXApIC0gc2NhbGUueCgwKSxcbiAgICAgICAgeTogc2NhbGUueShyYW5nZS5zdGVwKSAtIHNjYWxlLnkoMCksXG4gICAgICB9O1xuICAgIH07XG4gICAgb25TdGFydCA9IChlKSA9PiB7XG4gICAgICBjb25zdCB7IG9uRHJhZ1N0YXJ0IH0gPSB0aGlzLnByb3BzO1xuICAgICAgaWYgKGRvY3VtZW50LmFjdGl2ZUVsZW1lbnQpIHtcbiAgICAgICAgZG9jdW1lbnQuYWN0aXZlRWxlbWVudC5ibHVyKCk7XG4gICAgICB9XG4gICAgICB0aGlzLnNldFN0YXRlKHsgc3RhcnRYOiBlLmNsaWVudFgsIHN0YXJ0WTogZS5jbGllbnRZIH0pO1xuICAgICAgaWYgKG9uRHJhZ1N0YXJ0KSB7XG4gICAgICAgIG9uRHJhZ1N0YXJ0KCk7XG4gICAgICB9XG4gICAgfTtcbiAgICBwb3NpdGlvbiA9ICgpID0+IHtcbiAgICAgIGNvbnN0IHsgeCwgeSB9ID0gb3B0cy5hbmNob3JQb2ludCh0aGlzLnByb3BzKTtcbiAgICAgIGNvbnN0IHsgZ3JhcGhQcm9wcyB9ID0gdGhpcy5wcm9wcztcbiAgICAgIGNvbnN0IHsgc2NhbGUsIHNuYXAgfSA9IGdyYXBoUHJvcHM7XG5cbiAgICAgIHJldHVybiB7XG4gICAgICAgIGFuY2hvclBvaW50OiB7XG4gICAgICAgICAgeCxcbiAgICAgICAgICB5LFxuICAgICAgICB9LFxuICAgICAgICB4OiBkZWx0YUZuKHNjYWxlLngsIHNuYXAueCwgeCksXG4gICAgICAgIHk6IGRlbHRhRm4oc2NhbGUueSwgc25hcC55LCB5KSxcbiAgICAgIH07XG4gICAgfTtcblxuICAgIHRpbnkgPSAoa2V5LCBldmVudCkgPT4ge1xuICAgICAgY29uc3QgSyA9IGtleS50b1VwcGVyQ2FzZSgpO1xuICAgICAgY29uc3QgZW5kID0gZXZlbnRbYGNsaWVudCR7S31gXTtcbiAgICAgIGNvbnN0IHN0YXJ0ID0gdGhpcy5zdGF0ZVtgc3RhcnQke0t9YF07XG4gICAgICBjb25zdCBkZWx0YSA9IE1hdGguYWJzKGVuZCAtIHN0YXJ0KTtcbiAgICAgIGNvbnN0IG91dCA9IGRlbHRhIDwgTWF0aC5hYnModGhpcy5ncmlkKClba2V5XSkgLyAxMDtcbiAgICAgIGxvZygnW3RpbnldIGtleTogJywga2V5LCAnZGVsdGE6ICcsIGRlbHRhLCAnb3V0OiAnLCBvdXQpO1xuICAgICAgcmV0dXJuIG91dDtcbiAgICB9O1xuXG4gICAgZ2V0U2NhbGVkQm91bmRzID0gKCkgPT4ge1xuICAgICAgY29uc3QgYm91bmRzID0gb3B0cy5ib3VuZHModGhpcy5wcm9wcywgdGhpcy5wcm9wcy5ncmFwaFByb3BzKTtcbiAgICAgIGxvZygnYm91bmRzOiAnLCBib3VuZHMpO1xuICAgICAgY29uc3QgZ3JpZCA9IHRoaXMuZ3JpZCgpO1xuXG4gICAgICBjb25zdCBzY2FsZWQgPSB7XG4gICAgICAgIGxlZnQ6IGJvdW5kcy5sZWZ0ICogZ3JpZC54LFxuICAgICAgICByaWdodDogYm91bmRzLnJpZ2h0ICogZ3JpZC54LFxuICAgICAgICB0b3A6IGJvdW5kcy50b3AgKiBncmlkLnksXG4gICAgICAgIGJvdHRvbTogYm91bmRzLmJvdHRvbSAqIGdyaWQueSxcbiAgICAgIH07XG4gICAgICBsb2coJ1tnZXRTY2FsZWRCb3VuZHNdOiAnLCBzY2FsZWQpO1xuICAgICAgcmV0dXJuIHNjYWxlZDtcbiAgICB9O1xuXG4gICAgLyoqXG4gICAgICogUmV0cmlldmVzIHRoZSBjb29yZGluYXRlcyBvZiBhIG1vdXNlIG9yIHRvdWNoIGV2ZW50IHJlbGF0aXZlIHRvIGFuIFNWRyBlbGVtZW50LlxuICAgICAqIFRoaXMgbWV0aG9kIGhhcyBiZWVuIG92ZXJ3cml0dGVuIGZyb20gdGhlIGQzLXNlbGVjdGlvbiBsaWJyYXJ5J3MgY2xpZW50UG9pbnQgdG8gaGFuZGxlIHRvdWNoIGV2ZW50cyBhbmQgaW1wcm92ZSBjbGFyaXR5LlxuICAgICAqIEBwYXJhbSB7RWxlbWVudH0gbm9kZSAtIFRoZSBTVkcgZWxlbWVudC5cbiAgICAgKiBAcGFyYW0ge0V2ZW50fSBldmVudCAtIFRoZSBtb3VzZSBvciB0b3VjaCBldmVudC5cbiAgICAgKiBAcmV0dXJucyB7QXJyYXl9IC0gQW4gYXJyYXkgY29udGFpbmluZyB0aGUgY29vcmRpbmF0ZXMgW3gsIHldIHJlbGF0aXZlIHRvIHRoZSBTVkcgZWxlbWVudC5cbiAgICAgKi9cbiAgICBnZXRDbGllbnRQb2ludCA9IChub2RlLCBldmVudCkgPT4ge1xuICAgICAgaWYgKCFub2RlIHx8ICFldmVudCkge1xuICAgICAgICByZXR1cm4gbnVsbDtcbiAgICAgIH1cbiAgICAgIGNvbnN0IHN2ZyA9IG5vZGUub3duZXJTVkdFbGVtZW50IHx8IG5vZGU7XG5cbiAgICAgIGlmIChzdmcgJiYgc3ZnLmNyZWF0ZVNWR1BvaW50KSB7XG4gICAgICAgIGxldCBwb2ludCA9IHN2Zy5jcmVhdGVTVkdQb2ludCgpO1xuICAgICAgICAvLyBDaGVjayBpZiBpdCdzIGEgdG91Y2ggZXZlbnQgYW5kIHVzZSB0aGUgZmlyc3QgdG91Y2ggcG9pbnRcbiAgICAgICAgaWYgKGV2ZW50LnRvdWNoZXMgJiYgZXZlbnQudG91Y2hlcy5sZW5ndGggPiAwKSB7XG4gICAgICAgICAgY29uc3QgdG91Y2ggPSBldmVudC50b3VjaGVzWzBdO1xuICAgICAgICAgIHBvaW50LnggPSB0b3VjaC5jbGllbnRYO1xuICAgICAgICAgIHBvaW50LnkgPSB0b3VjaC5jbGllbnRZO1xuICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgIC8vIEZhbGwgYmFjayB0byBtb3VzZSBldmVudCBwcm9wZXJ0aWVzXG4gICAgICAgICAgcG9pbnQueCA9IGV2ZW50LmNsaWVudFg7XG4gICAgICAgICAgcG9pbnQueSA9IGV2ZW50LmNsaWVudFk7XG4gICAgICAgIH1cbiAgICAgICAgaWYgKG5vZGUuZ2V0U2NyZWVuQ1RNKSB7XG4gICAgICAgICAgcG9pbnQgPSBwb2ludC5tYXRyaXhUcmFuc2Zvcm0obm9kZS5nZXRTY3JlZW5DVE0oKS5pbnZlcnNlKCkpO1xuICAgICAgICAgIHJldHVybiBbcG9pbnQueCwgcG9pbnQueV07XG4gICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgcmV0dXJuIG51bGw7XG4gICAgICAgIH1cbiAgICAgIH1cblxuICAgICAgY29uc3QgcmVjdCA9IG5vZGUuZ2V0Qm91bmRpbmdDbGllbnRSZWN0KCk7XG4gICAgICBpZiAocmVjdCkge1xuICAgICAgICByZXR1cm4gW2V2ZW50LmNsaWVudFggLSByZWN0LmxlZnQgLSBub2RlLmNsaWVudExlZnQsIGV2ZW50LmNsaWVudFkgLSByZWN0LnRvcCAtIG5vZGUuY2xpZW50VG9wXTtcbiAgICAgIH0gZWxzZSB7XG4gICAgICAgIHJldHVybiBudWxsO1xuICAgICAgfVxuICAgIH07XG5cbiAgICBza2lwRHJhZ091dHNpZGVPZkJvdW5kcyA9IChkZCwgZSwgZ3JhcGhQcm9wcykgPT4ge1xuICAgICAgLy8gSWdub3JlIGRyYWcgbW92ZW1lbnQgb3V0c2lkZSBvZiB0aGUgZG9tYWluIGFuZCByYW5nZS5cbiAgICAgIGNvbnN0IHJvb3ROb2RlID0gZ3JhcGhQcm9wcy5nZXRSb290Tm9kZSgpO1xuICAgICAgY29uc3QgY2xpZW50UG9pbnQgPSB0aGlzLmdldENsaWVudFBvaW50KHJvb3ROb2RlLCBlKTtcblxuICAgICAgaWYgKGNsaWVudFBvaW50ID09PSBudWxsKSB7XG4gICAgICAgIHJldHVybiB0cnVlOyAvLyBJbmRpY2F0ZSB0aGF0IHRoZSBkcmFnIGlzIG91dHNpZGUgb2YgYm91bmRzXG4gICAgICB9XG5cbiAgICAgIGNvbnN0IFtyYXdYLCByYXdZXSA9IGNsaWVudFBvaW50O1xuICAgICAgY29uc3QgeyBzY2FsZSwgZG9tYWluLCByYW5nZSB9ID0gZ3JhcGhQcm9wcztcbiAgICAgIGxldCB4ID0gc2NhbGUueC5pbnZlcnQocmF3WCk7XG4gICAgICBsZXQgeSA9IHNjYWxlLnkuaW52ZXJ0KHJhd1kpO1xuXG4gICAgICBjb25zdCB4T3V0c2lkZSA9IChkZC5kZWx0YVggPiAwICYmIHggPCBkb21haW4ubWluKSB8fCAoZGQuZGVsdGFYIDwgMCAmJiB4ID4gZG9tYWluLm1heCk7XG4gICAgICBjb25zdCB5T3V0c2lkZSA9IChkZC5kZWx0YVkgPiAwICYmIHkgPiByYW5nZS5tYXgpIHx8IChkZC5kZWx0YVkgPCAwICYmIHkgPCByYW5nZS5taW4pO1xuICAgICAgcmV0dXJuIHhPdXRzaWRlIHx8IHlPdXRzaWRlO1xuICAgIH07XG5cbiAgICBvbkRyYWcgPSAoZSwgZGQpID0+IHtcbiAgICAgIGNvbnN0IHsgb25EcmFnLCBncmFwaFByb3BzIH0gPSB0aGlzLnByb3BzO1xuXG4gICAgICBpZiAoIW9uRHJhZykge1xuICAgICAgICByZXR1cm47XG4gICAgICB9XG5cbiAgICAgIGNvbnN0IGJvdW5kcyA9IHRoaXMuZ2V0U2NhbGVkQm91bmRzKCk7XG5cbiAgICAgIGlmIChkZC5kZWx0YVggPCAwICYmIGRkLmRlbHRhWCA8IGJvdW5kcy5sZWZ0KSB7XG4gICAgICAgIHJldHVybjtcbiAgICAgIH1cblxuICAgICAgaWYgKGRkLmRlbHRhWCA+IDAgJiYgZGQuZGVsdGFYID4gYm91bmRzLnJpZ2h0KSB7XG4gICAgICAgIHJldHVybjtcbiAgICAgIH1cblxuICAgICAgaWYgKGRkLmRlbHRhWSA8IDAgJiYgZGQuZGVsdGFZIDwgYm91bmRzLnRvcCkge1xuICAgICAgICByZXR1cm47XG4gICAgICB9XG5cbiAgICAgIGlmIChkZC5kZWx0YVkgPiAwICYmIGRkLmRlbHRhWSA+IGJvdW5kcy5ib3R0b20pIHtcbiAgICAgICAgcmV0dXJuO1xuICAgICAgfVxuXG4gICAgICBpZiAodGhpcy5za2lwRHJhZ091dHNpZGVPZkJvdW5kcyhkZCwgZSwgZ3JhcGhQcm9wcykpIHtcbiAgICAgICAgcmV0dXJuO1xuICAgICAgfVxuXG4gICAgICBjb25zdCBkcmFnQXJnID0gdGhpcy5hcHBseURlbHRhKHsgeDogZGQuZGVsdGFYLCB5OiBkZC5kZWx0YVkgfSk7XG5cbiAgICAgIGlmIChkcmFnQXJnICE9PSB1bmRlZmluZWQgfHwgZHJhZ0FyZyAhPT0gbnVsbCkge1xuICAgICAgICBvbkRyYWcoZHJhZ0FyZyk7XG4gICAgICB9XG4gICAgfTtcblxuICAgIGdldERlbHRhID0gKHBvaW50KSA9PiB7XG4gICAgICBjb25zdCBwb3MgPSB0aGlzLnBvc2l0aW9uKCk7XG5cbiAgICAgIGNvbnN0IHAgPSB7XG4gICAgICAgIHg6IHBvcy54KHBvaW50LngpLFxuICAgICAgICB5OiBwb3MueShwb2ludC55KSxcbiAgICAgIH07XG5cbiAgICAgIHJldHVybiB1dGlscy5nZXREZWx0YShwb3MuYW5jaG9yUG9pbnQsIHApO1xuICAgIH07XG5cbiAgICBhcHBseURlbHRhID0gKHBvaW50KSA9PiB7XG4gICAgICBjb25zdCBkZWx0YSA9IHRoaXMuZ2V0RGVsdGEocG9pbnQpO1xuICAgICAgbG9nKCdbYXBwbHlEZWx0YV0gZGVsdGE6JywgZGVsdGEpO1xuICAgICAgcmV0dXJuIG9wdHMuZnJvbURlbHRhKHRoaXMucHJvcHMsIGRlbHRhKTtcbiAgICB9O1xuXG4gICAgb25TdG9wID0gKGUsIGRkKSA9PiB7XG4gICAgICBsb2coJ1tvblN0b3BdIGRkOicsIGRkKTtcbiAgICAgIGNvbnN0IHsgb25EcmFnU3RvcCwgb25DbGljayB9ID0gdGhpcy5wcm9wcztcblxuICAgICAgaWYgKG9uRHJhZ1N0b3ApIHtcbiAgICAgICAgb25EcmFnU3RvcCgpO1xuICAgICAgfVxuXG4gICAgICBsb2coJ1tvblN0b3BdIGxhc3RYL1k6ICcsIGRkLmxhc3RYLCBkZC5sYXN0WSk7XG4gICAgICBjb25zdCBpc0NsaWNrID0gdGhpcy50aW55KCd4JywgZSkgJiYgdGhpcy50aW55KCd5JywgZSk7XG5cbiAgICAgIGlmIChpc0NsaWNrKSB7XG4gICAgICAgIGlmIChvbkNsaWNrKSB7XG4gICAgICAgICAgbG9nKCdjYWxsIG9uQ2xpY2snKTtcbiAgICAgICAgICB0aGlzLnNldFN0YXRlKHsgc3RhcnRYOiBudWxsIH0pO1xuICAgICAgICAgIGNvbnN0IHsgZ3JhcGhQcm9wcyB9ID0gdGhpcy5wcm9wcztcbiAgICAgICAgICBjb25zdCB7IHNjYWxlLCBzbmFwIH0gPSBncmFwaFByb3BzO1xuICAgICAgICAgIGNvbnN0IFtyYXdYLCByYXdZXSA9IGNsaWVudFBvaW50KGUudGFyZ2V0LCBlKTtcbiAgICAgICAgICBsZXQgeCA9IHNjYWxlLnguaW52ZXJ0KHJhd1gpO1xuICAgICAgICAgIGxldCB5ID0gc2NhbGUueS5pbnZlcnQocmF3WSk7XG4gICAgICAgICAgeCA9IHNuYXAueCh4KTtcbiAgICAgICAgICB5ID0gc25hcC55KHkpO1xuICAgICAgICAgIG9uQ2xpY2soeyB4LCB5IH0pO1xuICAgICAgICAgIHJldHVybiBmYWxzZTtcbiAgICAgICAgfVxuICAgICAgfVxuXG4gICAgICB0aGlzLnNldFN0YXRlKHsgc3RhcnRYOiBudWxsLCBzdGFydFk6IG51bGwgfSk7XG4gICAgICAvLyByZXR1cm4gZmFsc2UgdG8gcHJldmVudCBzdGF0ZSB1cGRhdGVzIGluIHRoZSB1bmRlcmx5aW5nIGRyYWdnYWJsZSAtIGEgbW92ZSB3aWxsIGhhdmUgdHJpZ2dlcmVkIGFuIHVwZGF0ZSBhbHJlYWR5LlxuICAgICAgcmV0dXJuIGZhbHNlO1xuICAgIH07XG5cbiAgICByZW5kZXIoKSB7XG4gICAgICBjb25zdCB7IGRpc2FibGVkLCAuLi5yZXN0IH0gPSB0aGlzLnByb3BzO1xuICAgICAgY29uc3QgZ3JpZCA9IHRoaXMuZ3JpZCgpO1xuXG4gICAgICAvLyBwcmV2ZW50IHRoZSB0ZXh0IHNlbGVjdCBpY29uIGZyb20gcmVuZGVyaW5nLlxuICAgICAgY29uc3Qgb25Nb3VzZURvd24gPSAoZSkgPT4gZS5uYXRpdmVFdmVudC5wcmV2ZW50RGVmYXVsdCgpO1xuXG4gICAgICAvKipcbiAgICAgICAqIFRPRE86IFRoaXMgc2hvdWxkbnQgYmUgbmVjZXNzYXJ5LCB3ZSBzaG91bGQgYmUgYWJsZSB0byB1c2UgdGhlIHItZCBjbGFzc25hbWVzLlxuICAgICAgICogQnV0IHRoZXkgYXJlbid0IGJlaW5nIHVuc2V0LiBJZiB3ZSBjb250aW51ZSB3aXRoIHRoaXMgbGliLCB3ZSdsbCBoYXZlIHRvIGZpeCB0aGlzLlxuICAgICAgICovXG4gICAgICBjb25zdCBpc0RyYWdnaW5nID0gdGhpcy5zdGF0ZSA/ICEhdGhpcy5zdGF0ZS5zdGFydFggOiBmYWxzZTtcblxuICAgICAgcmV0dXJuIChcbiAgICAgICAgPERyYWdnYWJsZUNvcmVcbiAgICAgICAgICBkaXNhYmxlZD17ZGlzYWJsZWR9XG4gICAgICAgICAgb25Nb3VzZURvd249e29uTW91c2VEb3dufVxuICAgICAgICAgIG9uU3RhcnQ9e3RoaXMub25TdGFydH1cbiAgICAgICAgICBvbkRyYWc9e3RoaXMub25EcmFnfVxuICAgICAgICAgIG9uU3RvcD17dGhpcy5vblN0b3B9XG4gICAgICAgICAgYXhpcz17b3B0cy5heGlzIHx8ICdib3RoJ31cbiAgICAgICAgICBncmlkPXtbZ3JpZC54LCBncmlkLnldfVxuICAgICAgICA+XG4gICAgICAgICAgPENvbXAgey4uLnJlc3R9IGRpc2FibGVkPXtkaXNhYmxlZH0gaXNEcmFnZ2luZz17aXNEcmFnZ2luZ30gLz5cbiAgICAgICAgPC9EcmFnZ2FibGVDb3JlPlxuICAgICAgKTtcbiAgICB9XG4gIH07XG59O1xuIl0sIm1hcHBpbmdzIjoiOzs7Ozs7Ozs7Ozs7Ozs7OztBQUFBLElBQUFBLE1BQUEsR0FBQUMsc0JBQUEsQ0FBQUMsT0FBQTtBQUNBLElBQUFDLFVBQUEsR0FBQUYsc0JBQUEsQ0FBQUMsT0FBQTtBQUNBLElBQUFFLE1BQUEsR0FBQUYsT0FBQTtBQUNBLElBQUFHLFVBQUEsR0FBQUgsT0FBQTtBQUNBLElBQUFJLE1BQUEsR0FBQUwsc0JB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
package/lib/index.js CHANGED
@@ -41,4 +41,4 @@ var types = _interopRequireWildcard(require("./types"));
41
41
  exports.types = types;
42
42
  var _graphProps = require("./graph-props");
43
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); }
44
- //# sourceMappingURL=index.js.map
44
+ //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJuYW1lcyI6WyJfcm9vdCIsIl9pbnRlcm9wUmVxdWlyZURlZmF1bHQiLCJyZXF1aXJlIiwiX2RyYWdnYWJsZSIsIl9ncmlkRHJhZ2dhYmxlIiwidXRpbHMiLCJfaW50ZXJvcFJlcXVpcmVXaWxkY2FyZCIsImV4cG9ydHMiLCJ0cmlnIiwidHlwZXMiLCJfZ3JhcGhQcm9wcyIsImUiLCJ0IiwiV2Vha01hcCIsInIiLCJuIiwiX19lc01vZHVsZSIsIm8iLCJpIiwiZiIsIl9fcHJvdG9fXyIsIl90eXBlb2YiLCJoYXMiLCJnZXQiLCJzZXQiLCJfdCIsImhhc093blByb3BlcnR5IiwiY2FsbCIsIk9iamVjdCIsImRlZmluZVByb3BlcnR5IiwiZ2V0T3duUHJvcGVydHlEZXNjcmlwdG9yIl0sInNvdXJjZXMiOlsiLi4vc3JjL2luZGV4LmpzIl0sInNvdXJjZXNDb250ZW50IjpbImltcG9ydCBSb290IGZyb20gJy4vcm9vdCc7XG5pbXBvcnQgRHJhZ2dhYmxlIGZyb20gJy4vZHJhZ2dhYmxlJztcbmltcG9ydCB7IGdyaWREcmFnZ2FibGUgfSBmcm9tICcuL2dyaWQtZHJhZ2dhYmxlJztcbmltcG9ydCAqIGFzIHV0aWxzIGZyb20gJy4vdXRpbHMnO1xuaW1wb3J0ICogYXMgdHJpZyBmcm9tICcuL3RyaWcnO1xuaW1wb3J0ICogYXMgdHlwZXMgZnJvbSAnLi90eXBlcyc7XG5pbXBvcnQgeyBjcmVhdGUgYXMgY3JlYXRlR3JhcGhQcm9wcyB9IGZyb20gJy4vZ3JhcGgtcHJvcHMnO1xuXG5leHBvcnQgeyBSb290LCBEcmFnZ2FibGUsIGdyaWREcmFnZ2FibGUsIHV0aWxzLCB0cmlnLCB0eXBlcywgY3JlYXRlR3JhcGhQcm9wcyB9O1xuIl0sIm1hcHBpbmdzIjoiOzs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7OztBQUFBLElBQUFBLEtBQUEsR0FBQUMsc0JBQUEsQ0FBQUMsT0FBQTtBQUNBLElBQUFDLFVBQUEsR0FBQUYsc0JBQUEsQ0FBQUMsT0FBQTtBQUNBLElBQUFFLGNBQUEsR0FBQUYsT0FBQTtBQUNBLElBQUFHLEtBQUEsR0FBQUMsdUJBQUEsQ0FBQUosT0FBQTtBQUFpQ0ssT0FBQSxDQUFBRixLQUFBLEdBQUFBLEtBQUE7QUFDakMsSUFBQUcsSUFBQSxHQUFBRix1QkFBQSxDQUFBSixPQUFBO0FBQStCSyxPQUFBLENBQUFDLElBQUEsR0FBQUEsSUFBQTtBQUMvQixJQUFBQyxLQUFBLEdBQUFILHVCQUFBLENBQUFKLE9BQUE7QUFBaUNLLE9BQUEsQ0FBQUUsS0FBQSxHQUFBQSxLQUFBO0FBQ2pDLElBQUFDLFdBQUEsR0FBQVIsT0FBQTtBQUEyRCxTQUFBSSx3QkFBQUssQ0FBQSxFQUFBQyxDQUFBLDZCQUFBQyxPQUFBLE1BQUFDLENBQUEsT0FBQUQsT0FBQSxJQUFBRSxDQUFBLE9BQUFGLE9BQUEsWUFBQVAsdUJBQUEsWUFBQUEsd0JBQUFLLENBQUEsRUFBQUMsQ0FBQSxTQUFBQSxDQUFBLElBQUFELENBQUEsSUFBQUEsQ0FBQSxDQUFBSyxVQUFBLFNBQUFMLENBQUEsTUFBQU0sQ0FBQSxFQUFBQyxDQUFBLEVBQUFDLENBQUEsS0FBQUMsU0FBQSxtQkFBQVQsQ0FBQSxpQkFBQUEsQ0FBQSxnQkFBQVUsT0FBQSxDQUFBVixDQUFBLDBCQUFBQSxDQUFBLFNBQUFRLENBQUEsTUFBQUYsQ0FBQSxHQUFBTCxDQUFBLEdBQUFHLENBQUEsR0FBQUQsQ0FBQSxRQUFBRyxDQUFBLENBQUFLLEdBQUEsQ0FBQVgsQ0FBQSxVQUFBTSxDQUFBLENBQUFNLEdBQUEsQ0FBQVosQ0FBQSxHQUFBTSxDQUFBLENBQUFPLEdBQUEsQ0FBQWIsQ0FBQSxFQUFBUSxDQUFBLGNBQUFNLEVBQUEsSUFBQWQsQ0FBQSxnQkFBQWMsRUFBQSxPQUFBQyxjQUFBLENBQUFDLElBQUEsQ0FBQWhCLENBQUEsRUFBQWMsRUFBQSxPQUFBUCxDQUFBLElBQUFELENBQUEsR0FBQVcsTUFBQSxDQUFBQyxjQUFBLEtBQUFELE1BQUEsQ0FBQUUsd0JBQUEsQ0FBQW5CLENBQUEsRUFBQWMsRUFBQSxPQUFBUCxDQUFBLENBQUFLLEdBQUEsSUFBQUwsQ0FBQSxDQUFBTSxHQUFBLElBQUFQLENBQUEsQ0FBQUUsQ0FBQSxFQUFBTSxFQUFBLEVBQUFQLENBQUEsSUFBQUMsQ0FBQSxDQUFBTSxFQUFBLElBQUFkLENBQUEsQ0FBQWMsRUFBQSxXQUFBTixDQUFBLEtBQUFSLENBQUEsRUFBQUMsQ0FBQSIsImlnbm9yZUxpc3QiOltdfQ==
package/lib/label.js CHANGED
@@ -10,7 +10,7 @@ var _defineProperty2 = _interopRequireDefault(require("@babel/runtime/helpers/de
10
10
  var _slicedToArray2 = _interopRequireDefault(require("@babel/runtime/helpers/slicedToArray"));
11
11
  var _react = _interopRequireWildcard(require("react"));
12
12
  var _renderUi = require("@pie-lib/render-ui");
13
- var _editableHtml = _interopRequireDefault(require("@pie-lib/editable-html"));
13
+ var _editableHtmlTipTap = _interopRequireDefault(require("@pie-lib/editable-html-tip-tap"));
14
14
  var _propTypes = _interopRequireDefault(require("prop-types"));
15
15
  var _utils = require("./utils");
16
16
  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); }
@@ -114,7 +114,7 @@ var LabelComponent = function LabelComponent(props) {
114
114
  dangerouslySetInnerHTML: {
115
115
  __html: text || ''
116
116
  }
117
- }) : /*#__PURE__*/_react["default"].createElement(_editableHtml["default"], {
117
+ }) : /*#__PURE__*/_react["default"].createElement(_editableHtmlTipTap["default"], {
118
118
  markup: text || '',
119
119
  onChange: onChange,
120
120
  placeholder: !disabledLabel && placeholder,
@@ -147,4 +147,4 @@ LabelComponent.propTypes = {
147
147
  titleHeight: _propTypes["default"].number
148
148
  };
149
149
  var _default = exports["default"] = LabelComponent;
150
- //# sourceMappingURL=label.js.map
150
+ //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJuYW1lcyI6WyJfcmVhY3QiLCJfaW50ZXJvcFJlcXVpcmVXaWxkY2FyZCIsInJlcXVpcmUiLCJfcmVuZGVyVWkiLCJfZWRpdGFibGVIdG1sVGlwVGFwIiwiX2ludGVyb3BSZXF1aXJlRGVmYXVsdCIsIl9wcm9wVHlwZXMiLCJfdXRpbHMiLCJlIiwidCIsIldlYWtNYXAiLCJyIiwibiIsIl9fZXNNb2R1bGUiLCJvIiwiaSIsImYiLCJfX3Byb3RvX18iLCJfdHlwZW9mIiwiaGFzIiwiZ2V0Iiwic2V0IiwiX3QiLCJoYXNPd25Qcm9wZXJ0eSIsImNhbGwiLCJPYmplY3QiLCJkZWZpbmVQcm9wZXJ0eSIsImdldE93blByb3BlcnR5RGVzY3JpcHRvciIsIm93bktleXMiLCJrZXlzIiwiZ2V0T3duUHJvcGVydHlTeW1ib2xzIiwiZmlsdGVyIiwiZW51bWVyYWJsZSIsInB1c2giLCJhcHBseSIsIl9vYmplY3RTcHJlYWQiLCJhcmd1bWVudHMiLCJsZW5ndGgiLCJmb3JFYWNoIiwiX2RlZmluZVByb3BlcnR5MiIsImdldE93blByb3BlcnR5RGVzY3JpcHRvcnMiLCJkZWZpbmVQcm9wZXJ0aWVzIiwic3R5bGVzIiwiYXhpc0xhYmVsIiwiZm9udFNpemUiLCJ0ZXh0QWxpZ24iLCJtYXJnaW4iLCJwYWRkaW5nIiwiY2hhcnRMYWJlbCIsImRpc2FibGVkTGFiZWwiLCJwb2ludGVyRXZlbnRzIiwid2lkdGgiLCJlZGl0TGFiZWwiLCJwb3NpdGlvbiIsImJhY2tncm91bmRDb2xvciIsImJvcmRlclJhZGl1cyIsImJveFNoYWRvdyIsInpJbmRleCIsInJvdGF0ZUxlZnRMYWJlbCIsInRyYW5zZm9ybSIsInRyYW5zZm9ybU9yaWdpbiIsInJvdGF0ZVJpZ2h0TGFiZWwiLCJjdXN0b21Cb3R0b20iLCJkaXNwbGF5Tm9uZSIsImRpc3BsYXkiLCJMYWJlbENvbXBvbmVudCIsInByb3BzIiwiZ3JhcGhIZWlnaHQiLCJncmFwaFdpZHRoIiwiaXNDaGFydEJvdHRvbUxhYmVsIiwiaXNEZWZpbmVDaGFydEJvdHRvbUxhYmVsIiwiaXNDaGFydExlZnRMYWJlbCIsImlzRGVmaW5lQ2hhcnRMZWZ0TGFiZWwiLCJwbGFjZWhvbGRlciIsInRleHQiLCJzaWRlIiwib25DaGFuZ2UiLCJfcHJvcHMkbWF0aE1sT3B0aW9ucyIsIm1hdGhNbE9wdGlvbnMiLCJjaGFyYWN0ZXJzTGltaXQiLCJ0aXRsZUhlaWdodCIsIl91c2VTdGF0ZSIsInVzZVN0YXRlIiwiX3VzZVN0YXRlMiIsIl9zbGljZWRUb0FycmF5MiIsInJvdGF0ZWRUb0hvcml6b250YWwiLCJzZXRSb3RhdGVkVG9Ib3Jpem9udGFsIiwiYWN0aXZlUGx1Z2lucyIsImlzQ2hhcnQiLCJjaGFydFZhbHVlIiwiZGVmYXVsdFN0eWxlIiwidG9wIiwiY29uY2F0IiwibGVmdCIsInJvdGF0ZWRTdHlsZSIsInJvdGF0ZUxhYmVsIiwiZXhpdEVkaXRNb2RlIiwicmVxdWVzdEFuaW1hdGlvbkZyYW1lIiwiX2RvY3VtZW50JGFjdGl2ZUVsZW1lIiwiX2RvY3VtZW50JGFjdGl2ZUVsZW1lMiIsImRvY3VtZW50IiwiYWN0aXZlRWxlbWVudCIsImJsdXIiLCJjcmVhdGVFbGVtZW50IiwiUmVhZGFibGUiLCJvbkNsaWNrIiwic3R5bGUiLCJpc0VtcHR5U3RyaW5nIiwiZXh0cmFjdFRleHRGcm9tSFRNTCIsImRhbmdlcm91c2x5U2V0SW5uZXJIVE1MIiwiX19odG1sIiwibWFya3VwIiwidG9vbGJhck9wdHMiLCJub1BhZGRpbmciLCJub0JvcmRlciIsImRpc2FibGVTY3JvbGxiYXIiLCJvbkRvbmUiLCJwcm9wVHlwZXMiLCJQcm9wVHlwZXMiLCJib29sIiwibnVtYmVyIiwic3RyaW5nIiwiZnVuYyIsIm9iamVjdCIsIl9kZWZhdWx0IiwiZXhwb3J0cyJdLCJzb3VyY2VzIjpbIi4uL3NyYy9sYWJlbC5qc3giXSwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IFJlYWN0LCB7IHVzZUVmZmVjdCwgdXNlU3RhdGUgfSBmcm9tICdyZWFjdCc7XG5pbXBvcnQgeyBSZWFkYWJsZSB9IGZyb20gJ0BwaWUtbGliL3JlbmRlci11aSc7XG5pbXBvcnQgRWRpdGFibGVIdG1sIGZyb20gJ0BwaWUtbGliL2VkaXRhYmxlLWh0bWwtdGlwLXRhcCc7XG5pbXBvcnQgUHJvcFR5cGVzIGZyb20gJ3Byb3AtdHlwZXMnO1xuaW1wb3J0IHsgZXh0cmFjdFRleHRGcm9tSFRNTCwgaXNFbXB0eVN0cmluZyB9IGZyb20gJy4vdXRpbHMnO1xuXG5jb25zdCBzdHlsZXMgPSB7XG4gIGF4aXNMYWJlbDoge1xuICAgIGZvbnRTaXplOiAxMixcbiAgICB0ZXh0QWxpZ246ICdjZW50ZXInLFxuICAgIG1hcmdpbjogNCxcbiAgICBwYWRkaW5nOiAnNHB4IDAnLFxuICB9LFxuICBjaGFydExhYmVsOiB7XG4gICAgZm9udFNpemU6IDE2LFxuICAgIHRleHRBbGlnbjogJ2NlbnRlcicsXG4gICAgbWFyZ2luOiA0LFxuICAgIHBhZGRpbmc6ICc0cHggMCcsXG4gIH0sXG4gIGRpc2FibGVkTGFiZWw6IHtcbiAgICBwb2ludGVyRXZlbnRzOiAnbm9uZScsXG4gICAgd2lkdGg6ICcxMDAlJyxcbiAgfSxcbiAgZWRpdExhYmVsOiB7XG4gICAgcG9zaXRpb246ICdhYnNvbHV0ZScsXG4gICAgYmFja2dyb3VuZENvbG9yOiAnd2hpdGUnLFxuICAgIGJvcmRlclJhZGl1czogNCxcbiAgICBib3hTaGFkb3c6ICcwcHggNXB4IDhweCByZ2JhKDAsMCwwLDAuMTUpJyxcbiAgICB6SW5kZXg6IDEwLFxuICB9LFxuICByb3RhdGVMZWZ0TGFiZWw6IHtcbiAgICB0cmFuc2Zvcm06ICdyb3RhdGUoLTkwZGVnKScsXG4gICAgdHJhbnNmb3JtT3JpZ2luOiAnMCAwJyxcbiAgICBwb3NpdGlvbjogJ2Fic29sdXRlJyxcbiAgfSxcbiAgcm90YXRlUmlnaHRMYWJlbDoge1xuICAgIHRyYW5zZm9ybTogJ3JvdGF0ZSg5MGRlZyknLFxuICAgIHRyYW5zZm9ybU9yaWdpbjogJzAgMCcsXG4gICAgcG9zaXRpb246ICdhYnNvbHV0ZScsXG4gIH0sXG4gIGN1c3RvbUJvdHRvbToge1xuICAgIHBvc2l0aW9uOiAnYWJzb2x1dGUnLFxuICB9LFxuICBkaXNwbGF5Tm9uZToge1xuICAgIGRpc3BsYXk6ICdub25lJyxcbiAgfSxcbn07XG5cbmNvbnN0IExhYmVsQ29tcG9uZW50ID0gKHByb3BzKSA9PiB7XG4gIGNvbnN0IHtcbiAgICBkaXNhYmxlZExhYmVsLFxuICAgIGdyYXBoSGVpZ2h0LFxuICAgIGdyYXBoV2lkdGgsXG4gICAgaXNDaGFydEJvdHRvbUxhYmVsLFxuICAgIGlzRGVmaW5lQ2hhcnRCb3R0b21MYWJlbCxcbiAgICBpc0NoYXJ0TGVmdExhYmVsLFxuICAgIGlzRGVmaW5lQ2hhcnRMZWZ0TGFiZWwsXG4gICAgcGxhY2Vob2xkZXIsXG4gICAgdGV4dCxcbiAgICBzaWRlLFxuICAgIG9uQ2hhbmdlLFxuICAgIG1hdGhNbE9wdGlvbnMgPSB7fSxcbiAgICBjaGFyYWN0ZXJzTGltaXQsXG4gICAgdGl0bGVIZWlnaHQsXG4gIH0gPSBwcm9wcztcblxuICBjb25zdCBbcm90YXRlZFRvSG9yaXpvbnRhbCwgc2V0Um90YXRlZFRvSG9yaXpvbnRhbF0gPSB1c2VTdGF0ZShmYWxzZSk7XG5cbiAgY29uc3QgYWN0aXZlUGx1Z2lucyA9IFsnYm9sZCcsICdpdGFsaWMnLCAndW5kZXJsaW5lJywgJ3N0cmlrZXRocm91Z2gnLCAnbWF0aCddO1xuXG4gIGNvbnN0IGlzQ2hhcnQgPSBpc0NoYXJ0Qm90dG9tTGFiZWwgfHwgaXNDaGFydExlZnRMYWJlbCB8fCBpc0RlZmluZUNoYXJ0Qm90dG9tTGFiZWwgfHwgaXNEZWZpbmVDaGFydExlZnRMYWJlbDtcblxuICBjb25zdCBjaGFydFZhbHVlID0gc2lkZSA9PT0gJ2xlZnQnICYmIGlzRGVmaW5lQ2hhcnRMZWZ0TGFiZWwgJiYgZ3JhcGhIZWlnaHQgLSAyMjA7XG5cbiAgY29uc3QgZGVmYXVsdFN0eWxlID0ge1xuICAgIHdpZHRoOiBjaGFydFZhbHVlIHx8IChzaWRlID09PSAnbGVmdCcgfHwgc2lkZSA9PT0gJ3JpZ2h0JyA/IGdyYXBoSGVpZ2h0IC0gOCA6IGdyYXBoV2lkdGggLSA4KSxcbiAgICB0b3A6XG4gICAgICBjaGFydFZhbHVlIHx8XG4gICAgICAoaXNDaGFydExlZnRMYWJlbCAmJiBgJHtncmFwaEhlaWdodCAtIDcwfXB4YCkgfHxcbiAgICAgIChzaWRlID09PSAnbGVmdCcgJiYgYCR7Z3JhcGhIZWlnaHQgLSA4fXB4YCkgfHxcbiAgICAgIChpc0NoYXJ0Qm90dG9tTGFiZWwgJiYgYCR7Z3JhcGhIZWlnaHQgLSA2MCArIHRpdGxlSGVpZ2h0fXB4YCkgfHxcbiAgICAgIChzaWRlID09PSAnYm90dG9tJyAmJiBgJHtncmFwaEhlaWdodCAtIDEyMCArIHRpdGxlSGVpZ2h0fXB4YCkgfHxcbiAgICAgIDAsXG4gICAgbGVmdDpcbiAgICAgIChzaWRlID09PSAncmlnaHQnICYmIGAke2dyYXBoV2lkdGggLSA4fXB4YCkgfHxcbiAgICAgICgoaXNEZWZpbmVDaGFydExlZnRMYWJlbCB8fCBpc0RlZmluZUNoYXJ0Qm90dG9tTGFiZWwpICYmICc0MHB4JykgfHxcbiAgICAgIChpc0NoYXJ0Qm90dG9tTGFiZWwgJiYgJy0xMHB4JykgfHxcbiAgICAgIDAsXG4gIH07XG5cbiAgY29uc3Qgcm90YXRlZFN0eWxlID0ge1xuICAgIHdpZHRoOiBncmFwaFdpZHRoIC0gOCxcbiAgICB0b3A6IHNpZGUgPT09ICdyaWdodCcgPyBgJHtncmFwaEhlaWdodCAtIDIyfXB4YCA6IDAsXG4gICAgbGVmdDogMCxcbiAgfTtcblxuICBjb25zdCByb3RhdGVMYWJlbCA9ICgpID0+IHtcbiAgICBpZiAoIWRpc2FibGVkTGFiZWwgJiYgKHNpZGUgPT09ICdsZWZ0JyB8fCBzaWRlID09PSAncmlnaHQnKSkge1xuICAgICAgc2V0Um90YXRlZFRvSG9yaXpvbnRhbCh0cnVlKTtcbiAgICB9XG4gIH07XG5cbiAgY29uc3QgZXhpdEVkaXRNb2RlID0gKCkgPT4ge1xuICAgIHNldFJvdGF0ZWRUb0hvcml6b250YWwoZmFsc2UpO1xuXG4gICAgLy8gYmx1ciBhY3RpdmUgZWxlbWVudCBiZWNhdXNlIHJvdGF0aW9uIGlzIGNhdXNpbmcgZWRpdGluZyBpc3N1ZXMgb24gZXhpdFxuICAgIHJlcXVlc3RBbmltYXRpb25GcmFtZSgoKSA9PiB7XG4gICAgICBkb2N1bWVudC5hY3RpdmVFbGVtZW50Py5ibHVyPy4oKTtcbiAgICB9KTtcbiAgfTtcblxuICByZXR1cm4gKFxuICAgIDxSZWFkYWJsZSBmYWxzZT5cbiAgICAgIDxkaXZcbiAgICAgICAgb25DbGljaz17cm90YXRlTGFiZWx9XG4gICAgICAgIHN0eWxlPXt7XG4gICAgICAgICAgLi4uKHJvdGF0ZWRUb0hvcml6b250YWwgPyByb3RhdGVkU3R5bGUgOiBkZWZhdWx0U3R5bGUpLFxuICAgICAgICAgIC4uLihpc0NoYXJ0ID8gc3R5bGVzLmNoYXJ0TGFiZWwgOiBzdHlsZXMuYXhpc0xhYmVsKSxcbiAgICAgICAgICAuLi4oc2lkZSA9PT0gJ2xlZnQnICYmICFyb3RhdGVkVG9Ib3Jpem9udGFsID8gc3R5bGVzLnJvdGF0ZUxlZnRMYWJlbCA6IHt9KSxcbiAgICAgICAgICAuLi4oc2lkZSA9PT0gJ3JpZ2h0JyAmJiAhcm90YXRlZFRvSG9yaXpvbnRhbCA/IHN0eWxlcy5yb3RhdGVSaWdodExhYmVsIDoge30pLFxuICAgICAgICAgIC4uLihyb3RhdGVkVG9Ib3Jpem9udGFsID8gc3R5bGVzLmVkaXRMYWJlbCA6IHt9KSxcbiAgICAgICAgICAuLi4oaXNDaGFydEJvdHRvbUxhYmVsIHx8IGlzRGVmaW5lQ2hhcnRCb3R0b21MYWJlbCA/IHN0eWxlcy5jdXN0b21Cb3R0b20gOiB7fSksXG4gICAgICAgICAgLi4uKGRpc2FibGVkTGFiZWwgJiYgIWlzQ2hhcnQgJiYgaXNFbXB0eVN0cmluZyhleHRyYWN0VGV4dEZyb21IVE1MKHRleHQpKSAmJiBzdHlsZXMuZGlzcGxheU5vbmUpLFxuICAgICAgICB9fVxuICAgICAgPlxuICAgICAgICB7ZGlzYWJsZWRMYWJlbCA/IChcbiAgICAgICAgICA8ZGl2IHN0eWxlPXtzdHlsZXMuZGlzYWJsZWRMYWJlbH0gZGFuZ2Vyb3VzbHlTZXRJbm5lckhUTUw9e3sgX19odG1sOiB0ZXh0IHx8ICcnIH19IC8+XG4gICAgICAgICkgOiAoXG4gICAgICAgICAgPEVkaXRhYmxlSHRtbFxuICAgICAgICAgICAgbWFya3VwPXt0ZXh0IHx8ICcnfVxuICAgICAgICAgICAgb25DaGFuZ2U9e29uQ2hhbmdlfVxuICAgICAgICAgICAgcGxhY2Vob2xkZXI9eyFkaXNhYmxlZExhYmVsICYmIHBsYWNlaG9sZGVyfVxuICAgICAgICAgICAgdG9vbGJhck9wdHM9e3tcbiAgICAgICAgICAgICAgcG9zaXRpb246IHNpZGUgPT09ICdib3R0b20nID8gJ3RvcCcgOiAnYm90dG9tJyxcbiAgICAgICAgICAgICAgbm9QYWRkaW5nOiB0cnVlLFxuICAgICAgICAgICAgICBub0JvcmRlcjogdHJ1ZSxcbiAgICAgICAgICAgIH19XG4gICAgICAgICAgICBkaXNhYmxlU2Nyb2xsYmFyXG4gICAgICAgICAgICBhY3RpdmVQbHVnaW5zPXthY3RpdmVQbHVnaW5zfVxuICAgICAgICAgICAgb25Eb25lPXtleGl0RWRpdE1vZGV9XG4gICAgICAgICAgICBtYXRoTWxPcHRpb25zPXttYXRoTWxPcHRpb25zfVxuICAgICAgICAgICAgY2hhcmFjdGVyc0xpbWl0PXtjaGFyYWN0ZXJzTGltaXR9XG4gICAgICAgICAgLz5cbiAgICAgICAgKX1cbiAgICAgIDwvZGl2PlxuICAgIDwvUmVhZGFibGU+XG4gICk7XG59O1xuXG5MYWJlbENvbXBvbmVudC5wcm9wVHlwZXMgPSB7XG4gIGRpc2FibGVkTGFiZWw6IFByb3BUeXBlcy5ib29sLFxuICBncmFwaEhlaWdodDogUHJvcFR5cGVzLm51bWJlcixcbiAgZ3JhcGhXaWR0aDogUHJvcFR5cGVzLm51bWJlcixcbiAgaXNDaGFydEJvdHRvbUxhYmVsOiBQcm9wVHlwZXMuYm9vbCxcbiAgaXNEZWZpbmVDaGFydEJvdHRvbUxhYmVsOiBQcm9wVHlwZXMuYm9vbCxcbiAgaXNDaGFydExlZnRMYWJlbDogUHJvcFR5cGVzLmJvb2wsXG4gIGlzRGVmaW5lQ2hhcnRMZWZ0TGFiZWw6IFByb3BUeXBlcy5ib29sLFxuICBwbGFjZWhvbGRlcjogUHJvcFR5cGVzLnN0cmluZyxcbiAgdGV4dDogUHJvcFR5cGVzLnN0cmluZyxcbiAgc2lkZTogUHJvcFR5cGVzLnN0cmluZyxcbiAgb25DaGFuZ2U6IFByb3BUeXBlcy5mdW5jLFxuICBtYXRoTWxPcHRpb25zOiBQcm9wVHlwZXMub2JqZWN0LFxuICBjaGFyYWN0ZXJzTGltaXQ6IFByb3BUeXBlcy5udW1iZXIsXG4gIHRpdGxlSGVpZ2h0OiBQcm9wVHlwZXMubnVtYmVyLFxufTtcblxuZXhwb3J0IGRlZmF1bHQgTGFiZWxDb21wb25lbnQ7XG4iXSwibWFwcGluZ3MiOiI7Ozs7Ozs7Ozs7QUFBQSxJQUFBQSxNQUFBLEdBQUFDLHVCQUFBLENBQUFDLE9BQUE7QUFDQSxJQUFBQyxTQUFBLEdBQUFELE9BQUE7QUFDQSxJQUFBRSxtQkFBQSxHQUFBQyxzQkFBQSxDQUFBSCxPQUFBO0FBQ0EsSUFBQUksVUFBQSxHQUFBRCxzQkFBQSxDQUFBSCxPQUFBO0FBQ0EsSUFBQUssTUFBQSxHQUFBTCxPQUFBO0FBQTZELFNBQUFELHdCQUFBTyxDQUFBLEVBQUFDLENBQUEsNkJBQUFDLE9BQUEsTUFBQUMsQ0FBQSxPQUFBRCxPQUFBLElBQUFFLENBQUEsT0FBQUYsT0FBQSxZQUFBVCx1QkFBQSxZQUFBQSx3QkFBQU8sQ0FBQSxFQUFBQyxDQUFBLFNBQUFBLENBQUEsSUFBQUQsQ0FBQSxJQUFBQSxDQUFBLENBQUFLLFVBQUEsU0FBQUwsQ0FBQSxNQUFBTSxDQUFBLEVBQUFDLENBQUEsRUFBQUMsQ0FBQSxLQUFBQyxTQUFBLG1CQUFBVCxDQUFBLGlCQUFBQSxDQUFBLGdCQUFBVSxPQUFBLENBQUFWLENBQUEsMEJBQUFBLENBQUEsU0FBQVEsQ0FBQSxNQUFBRixDQUFBLEdBQUFMLENBQUEsR0FBQUcsQ0FBQSxHQUFBRCxDQUFBLFFBQUFHLENBQUEsQ0FBQUssR0FBQSxDQUFBWCxDQUFBLFVB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
package/lib/label.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"label.js","names":["_react","_interopRequireWildcard","require","_renderUi","_editableHtml","_interopRequireDefault","_propTypes","_utils","e","t","WeakMap","r","n","__esModule","o","i","f","__proto__","_typeof","has","get","set","_t","hasOwnProperty","call","Object","defineProperty","getOwnPropertyDescriptor","ownKeys","keys","getOwnPropertySymbols","filter","enumerable","push","apply","_objectSpread","arguments","length","forEach","_defineProperty2","getOwnPropertyDescriptors","defineProperties","styles","axisLabel","fontSize","textAlign","margin","padding","chartLabel","disabledLabel","pointerEvents","width","editLabel","position","backgroundColor","borderRadius","boxShadow","zIndex","rotateLeftLabel","transform","transformOrigin","rotateRightLabel","customBottom","displayNone","display","LabelComponent","props","graphHeight","graphWidth","isChartBottomLabel","isDefineChartBottomLabel","isChartLeftLabel","isDefineChartLeftLabel","placeholder","text","side","onChange","_props$mathMlOptions","mathMlOptions","charactersLimit","titleHeight","_useState","useState","_useState2","_slicedToArray2","rotatedToHorizontal","setRotatedToHorizontal","activePlugins","isChart","chartValue","defaultStyle","top","concat","left","rotatedStyle","rotateLabel","exitEditMode","requestAnimationFrame","_document$activeEleme","_document$activeEleme2","document","activeElement","blur","createElement","Readable","onClick","style","isEmptyString","extractTextFromHTML","dangerouslySetInnerHTML","__html","markup","toolbarOpts","noPadding","noBorder","disableScrollbar","onDone","propTypes","PropTypes","bool","number","string","func","object","_default","exports"],"sources":["../src/label.jsx"],"sourcesContent":["import React, { useEffect, useState } from 'react';\nimport { Readable } from '@pie-lib/render-ui';\nimport EditableHtml from '@pie-lib/editable-html';\nimport PropTypes from 'prop-types';\nimport { extractTextFromHTML, isEmptyString } from './utils';\n\nconst styles = {\n axisLabel: {\n fontSize: 12,\n textAlign: 'center',\n margin: 4,\n padding: '4px 0',\n },\n chartLabel: {\n fontSize: 16,\n textAlign: 'center',\n margin: 4,\n padding: '4px 0',\n },\n disabledLabel: {\n pointerEvents: 'none',\n width: '100%',\n },\n editLabel: {\n position: 'absolute',\n backgroundColor: 'white',\n borderRadius: 4,\n boxShadow: '0px 5px 8px rgba(0,0,0,0.15)',\n zIndex: 10,\n },\n rotateLeftLabel: {\n transform: 'rotate(-90deg)',\n transformOrigin: '0 0',\n position: 'absolute',\n },\n rotateRightLabel: {\n transform: 'rotate(90deg)',\n transformOrigin: '0 0',\n position: 'absolute',\n },\n customBottom: {\n position: 'absolute',\n },\n displayNone: {\n display: 'none',\n },\n};\n\nconst LabelComponent = (props) => {\n const {\n disabledLabel,\n graphHeight,\n graphWidth,\n isChartBottomLabel,\n isDefineChartBottomLabel,\n isChartLeftLabel,\n isDefineChartLeftLabel,\n placeholder,\n text,\n side,\n onChange,\n mathMlOptions = {},\n charactersLimit,\n titleHeight,\n } = props;\n\nconst [rotatedToHorizontal, setRotatedToHorizontal] = useState(false);\n\n const activePlugins = [\n 'bold',\n 'italic',\n 'underline',\n 'strikethrough',\n 'math',\n ];\n\n const isChart =\n isChartBottomLabel ||\n isChartLeftLabel ||\n isDefineChartBottomLabel ||\n isDefineChartLeftLabel;\n\n const chartValue =\n side === 'left' && isDefineChartLeftLabel && graphHeight - 220;\n\n const defaultStyle = {\n width:\n chartValue ||\n (side === 'left' || side === 'right'\n ? graphHeight - 8\n : graphWidth - 8),\n top:\n chartValue ||\n (isChartLeftLabel && `${graphHeight - 70}px`) ||\n (side === 'left' && `${graphHeight - 8}px`) ||\n (isChartBottomLabel && `${graphHeight - 60 + titleHeight}px`) ||\n (side === 'bottom' && `${graphHeight - 120 + titleHeight}px`) ||\n 0,\n left:\n (side === 'right' && `${graphWidth - 8}px`) ||\n ((isDefineChartLeftLabel || isDefineChartBottomLabel) && '40px') ||\n (isChartBottomLabel && '-10px') ||\n 0,\n };\n\n const rotatedStyle = {\n width: graphWidth - 8,\n top: side === 'right' ? `${graphHeight - 22}px` : 0,\n left: 0,\n };\n\n const rotateLabel = () => {\n if (!disabledLabel && (side === 'left' || side === 'right')) {\n setRotatedToHorizontal(true);\n }\n };\n\n const exitEditMode = () => {\n setRotatedToHorizontal(false);\n\n // blur active element because rotation is causing editing issues on exit\n requestAnimationFrame(() => {\n document.activeElement?.blur?.();\n });\n };\n\n return (\n <Readable false>\n <div\n onClick={rotateLabel}\n style={{\n ...(rotatedToHorizontal ? rotatedStyle : defaultStyle),\n ...(isChart ? styles.chartLabel : styles.axisLabel),\n ...(side === 'left' && !rotatedToHorizontal\n ? styles.rotateLeftLabel\n : {}),\n ...(side === 'right' && !rotatedToHorizontal\n ? styles.rotateRightLabel\n : {}),\n ...(rotatedToHorizontal ? styles.editLabel : {}),\n ...((isChartBottomLabel || isDefineChartBottomLabel)\n ? styles.customBottom\n : {}),\n ...((disabledLabel &&\n !isChart &&\n isEmptyString(extractTextFromHTML(text))) &&\n styles.displayNone),\n }}\n >\n {disabledLabel ? (\n <div\n style={styles.disabledLabel}\n dangerouslySetInnerHTML={{ __html: text || '' }}\n />\n ) : (\n <EditableHtml\n markup={text || ''}\n onChange={onChange}\n placeholder={!disabledLabel && placeholder}\n toolbarOpts={{\n position: side === 'bottom' ? 'top' : 'bottom',\n noPadding: true,\n noBorder: true,\n }}\n disableScrollbar\n activePlugins={activePlugins}\n onDone={exitEditMode}\n mathMlOptions={mathMlOptions}\n charactersLimit={charactersLimit}\n />\n )}\n </div>\n </Readable>\n );\n};\n\nLabelComponent.propTypes = {\n disabledLabel: PropTypes.bool,\n graphHeight: PropTypes.number,\n graphWidth: PropTypes.number,\n isChartBottomLabel: PropTypes.bool,\n isDefineChartBottomLabel: PropTypes.bool,\n isChartLeftLabel: PropTypes.bool,\n isDefineChartLeftLabel: PropTypes.bool,\n placeholder: PropTypes.string,\n text: PropTypes.string,\n side: PropTypes.string,\n onChange: PropTypes.func,\n mathMlOptions: PropTypes.object,\n charactersLimit: PropTypes.number,\n titleHeight: PropTypes.number,\n};\n\nexport default LabelComponent;\n"],"mappings":"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","ignoreList":[]}
1
+ {"version":3,"file":"label.js","names":["_react","_interopRequireWildcard","require","_renderUi","_editableHtmlTipTap","_interopRequireDefault","_propTypes","_utils","e","t","WeakMap","r","n","__esModule","o","i","f","__proto__","_typeof","has","get","set","_t","hasOwnProperty","call","Object","defineProperty","getOwnPropertyDescriptor","ownKeys","keys","getOwnPropertySymbols","filter","enumerable","push","apply","_objectSpread","arguments","length","forEach","_defineProperty2","getOwnPropertyDescriptors","defineProperties","styles","axisLabel","fontSize","textAlign","margin","padding","chartLabel","disabledLabel","pointerEvents","width","editLabel","position","backgroundColor","borderRadius","boxShadow","zIndex","rotateLeftLabel","transform","transformOrigin","rotateRightLabel","customBottom","displayNone","display","LabelComponent","props","graphHeight","graphWidth","isChartBottomLabel","isDefineChartBottomLabel","isChartLeftLabel","isDefineChartLeftLabel","placeholder","text","side","onChange","_props$mathMlOptions","mathMlOptions","charactersLimit","titleHeight","_useState","useState","_useState2","_slicedToArray2","rotatedToHorizontal","setRotatedToHorizontal","activePlugins","isChart","chartValue","defaultStyle","top","concat","left","rotatedStyle","rotateLabel","exitEditMode","requestAnimationFrame","_document$activeEleme","_document$activeEleme2","document","activeElement","blur","createElement","Readable","onClick","style","isEmptyString","extractTextFromHTML","dangerouslySetInnerHTML","__html","markup","toolbarOpts","noPadding","noBorder","disableScrollbar","onDone","propTypes","PropTypes","bool","number","string","func","object","_default","exports"],"sources":["../src/label.jsx"],"sourcesContent":["import React, { useEffect, useState } from 'react';\nimport { Readable } from '@pie-lib/render-ui';\nimport EditableHtml from '@pie-lib/editable-html-tip-tap';\nimport PropTypes from 'prop-types';\nimport { extractTextFromHTML, isEmptyString } from './utils';\n\nconst styles = {\n axisLabel: {\n fontSize: 12,\n textAlign: 'center',\n margin: 4,\n padding: '4px 0',\n },\n chartLabel: {\n fontSize: 16,\n textAlign: 'center',\n margin: 4,\n padding: '4px 0',\n },\n disabledLabel: {\n pointerEvents: 'none',\n width: '100%',\n },\n editLabel: {\n position: 'absolute',\n backgroundColor: 'white',\n borderRadius: 4,\n boxShadow: '0px 5px 8px rgba(0,0,0,0.15)',\n zIndex: 10,\n },\n rotateLeftLabel: {\n transform: 'rotate(-90deg)',\n transformOrigin: '0 0',\n position: 'absolute',\n },\n rotateRightLabel: {\n transform: 'rotate(90deg)',\n transformOrigin: '0 0',\n position: 'absolute',\n },\n customBottom: {\n position: 'absolute',\n },\n displayNone: {\n display: 'none',\n },\n};\n\nconst LabelComponent = (props) => {\n const {\n disabledLabel,\n graphHeight,\n graphWidth,\n isChartBottomLabel,\n isDefineChartBottomLabel,\n isChartLeftLabel,\n isDefineChartLeftLabel,\n placeholder,\n text,\n side,\n onChange,\n mathMlOptions = {},\n charactersLimit,\n titleHeight,\n } = props;\n\n const [rotatedToHorizontal, setRotatedToHorizontal] = useState(false);\n\n const activePlugins = ['bold', 'italic', 'underline', 'strikethrough', 'math'];\n\n const isChart = isChartBottomLabel || isChartLeftLabel || isDefineChartBottomLabel || isDefineChartLeftLabel;\n\n const chartValue = side === 'left' && isDefineChartLeftLabel && graphHeight - 220;\n\n const defaultStyle = {\n width: chartValue || (side === 'left' || side === 'right' ? graphHeight - 8 : graphWidth - 8),\n top:\n chartValue ||\n (isChartLeftLabel && `${graphHeight - 70}px`) ||\n (side === 'left' && `${graphHeight - 8}px`) ||\n (isChartBottomLabel && `${graphHeight - 60 + titleHeight}px`) ||\n (side === 'bottom' && `${graphHeight - 120 + titleHeight}px`) ||\n 0,\n left:\n (side === 'right' && `${graphWidth - 8}px`) ||\n ((isDefineChartLeftLabel || isDefineChartBottomLabel) && '40px') ||\n (isChartBottomLabel && '-10px') ||\n 0,\n };\n\n const rotatedStyle = {\n width: graphWidth - 8,\n top: side === 'right' ? `${graphHeight - 22}px` : 0,\n left: 0,\n };\n\n const rotateLabel = () => {\n if (!disabledLabel && (side === 'left' || side === 'right')) {\n setRotatedToHorizontal(true);\n }\n };\n\n const exitEditMode = () => {\n setRotatedToHorizontal(false);\n\n // blur active element because rotation is causing editing issues on exit\n requestAnimationFrame(() => {\n document.activeElement?.blur?.();\n });\n };\n\n return (\n <Readable false>\n <div\n onClick={rotateLabel}\n style={{\n ...(rotatedToHorizontal ? rotatedStyle : defaultStyle),\n ...(isChart ? styles.chartLabel : styles.axisLabel),\n ...(side === 'left' && !rotatedToHorizontal ? styles.rotateLeftLabel : {}),\n ...(side === 'right' && !rotatedToHorizontal ? styles.rotateRightLabel : {}),\n ...(rotatedToHorizontal ? styles.editLabel : {}),\n ...(isChartBottomLabel || isDefineChartBottomLabel ? styles.customBottom : {}),\n ...(disabledLabel && !isChart && isEmptyString(extractTextFromHTML(text)) && styles.displayNone),\n }}\n >\n {disabledLabel ? (\n <div style={styles.disabledLabel} dangerouslySetInnerHTML={{ __html: text || '' }} />\n ) : (\n <EditableHtml\n markup={text || ''}\n onChange={onChange}\n placeholder={!disabledLabel && placeholder}\n toolbarOpts={{\n position: side === 'bottom' ? 'top' : 'bottom',\n noPadding: true,\n noBorder: true,\n }}\n disableScrollbar\n activePlugins={activePlugins}\n onDone={exitEditMode}\n mathMlOptions={mathMlOptions}\n charactersLimit={charactersLimit}\n />\n )}\n </div>\n </Readable>\n );\n};\n\nLabelComponent.propTypes = {\n disabledLabel: PropTypes.bool,\n graphHeight: PropTypes.number,\n graphWidth: PropTypes.number,\n isChartBottomLabel: PropTypes.bool,\n isDefineChartBottomLabel: PropTypes.bool,\n isChartLeftLabel: PropTypes.bool,\n isDefineChartLeftLabel: PropTypes.bool,\n placeholder: PropTypes.string,\n text: PropTypes.string,\n side: PropTypes.string,\n onChange: PropTypes.func,\n mathMlOptions: PropTypes.object,\n charactersLimit: PropTypes.number,\n titleHeight: PropTypes.number,\n};\n\nexport default LabelComponent;\n"],"mappings":"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","ignoreList":[]}