@tailor-cms/ce-accordion-edit 0.0.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/dist/index.cjs ADDED
@@ -0,0 +1,4447 @@
1
+ "use strict";
2
+ var import_style = require("./style.css");
3
+ Object.defineProperties(exports, { __esModule: { value: true }, [Symbol.toStringTag]: { value: "Module" } });
4
+ const vue = require("vue");
5
+ var type = "CE_ACCORDION";
6
+ var name = "Accordion";
7
+ var initState = () => ({
8
+ embeds: {},
9
+ items: []
10
+ });
11
+ var ui = {
12
+ // Display icon, https://pictogrammers.com/library/mdi/
13
+ icon: "mdi-view-sequential",
14
+ // Does element support only full width or can be used within layouts
15
+ // (e.g. 50/50 layout)
16
+ forceFullWidth: true
17
+ };
18
+ var mocks = {
19
+ displayContexts: [{ name: "No selection", data: {} }]
20
+ };
21
+ var manifest$1 = {
22
+ type,
23
+ version: "1.0",
24
+ name,
25
+ isComposite: true,
26
+ ssr: false,
27
+ initState,
28
+ ui,
29
+ mocks
30
+ };
31
+ var src_default = manifest$1;
32
+ var commonjsGlobal = typeof globalThis !== "undefined" ? globalThis : typeof window !== "undefined" ? window : typeof global !== "undefined" ? global : typeof self !== "undefined" ? self : {};
33
+ function getDefaultExportFromCjs(x) {
34
+ return x && x.__esModule && Object.prototype.hasOwnProperty.call(x, "default") ? x["default"] : x;
35
+ }
36
+ function listCacheClear$1() {
37
+ this.__data__ = [];
38
+ this.size = 0;
39
+ }
40
+ var _listCacheClear = listCacheClear$1;
41
+ function eq$3(value, other) {
42
+ return value === other || value !== value && other !== other;
43
+ }
44
+ var eq_1 = eq$3;
45
+ var eq$2 = eq_1;
46
+ function assocIndexOf$4(array, key) {
47
+ var length = array.length;
48
+ while (length--) {
49
+ if (eq$2(array[length][0], key)) {
50
+ return length;
51
+ }
52
+ }
53
+ return -1;
54
+ }
55
+ var _assocIndexOf = assocIndexOf$4;
56
+ var assocIndexOf$3 = _assocIndexOf;
57
+ var arrayProto$1 = Array.prototype;
58
+ var splice$1 = arrayProto$1.splice;
59
+ function listCacheDelete$1(key) {
60
+ var data = this.__data__, index2 = assocIndexOf$3(data, key);
61
+ if (index2 < 0) {
62
+ return false;
63
+ }
64
+ var lastIndex = data.length - 1;
65
+ if (index2 == lastIndex) {
66
+ data.pop();
67
+ } else {
68
+ splice$1.call(data, index2, 1);
69
+ }
70
+ --this.size;
71
+ return true;
72
+ }
73
+ var _listCacheDelete = listCacheDelete$1;
74
+ var assocIndexOf$2 = _assocIndexOf;
75
+ function listCacheGet$1(key) {
76
+ var data = this.__data__, index2 = assocIndexOf$2(data, key);
77
+ return index2 < 0 ? void 0 : data[index2][1];
78
+ }
79
+ var _listCacheGet = listCacheGet$1;
80
+ var assocIndexOf$1 = _assocIndexOf;
81
+ function listCacheHas$1(key) {
82
+ return assocIndexOf$1(this.__data__, key) > -1;
83
+ }
84
+ var _listCacheHas = listCacheHas$1;
85
+ var assocIndexOf = _assocIndexOf;
86
+ function listCacheSet$1(key, value) {
87
+ var data = this.__data__, index2 = assocIndexOf(data, key);
88
+ if (index2 < 0) {
89
+ ++this.size;
90
+ data.push([key, value]);
91
+ } else {
92
+ data[index2][1] = value;
93
+ }
94
+ return this;
95
+ }
96
+ var _listCacheSet = listCacheSet$1;
97
+ var listCacheClear = _listCacheClear, listCacheDelete = _listCacheDelete, listCacheGet = _listCacheGet, listCacheHas = _listCacheHas, listCacheSet = _listCacheSet;
98
+ function ListCache$4(entries) {
99
+ var index2 = -1, length = entries == null ? 0 : entries.length;
100
+ this.clear();
101
+ while (++index2 < length) {
102
+ var entry = entries[index2];
103
+ this.set(entry[0], entry[1]);
104
+ }
105
+ }
106
+ ListCache$4.prototype.clear = listCacheClear;
107
+ ListCache$4.prototype["delete"] = listCacheDelete;
108
+ ListCache$4.prototype.get = listCacheGet;
109
+ ListCache$4.prototype.has = listCacheHas;
110
+ ListCache$4.prototype.set = listCacheSet;
111
+ var _ListCache = ListCache$4;
112
+ var ListCache$3 = _ListCache;
113
+ function stackClear$1() {
114
+ this.__data__ = new ListCache$3();
115
+ this.size = 0;
116
+ }
117
+ var _stackClear = stackClear$1;
118
+ function stackDelete$1(key) {
119
+ var data = this.__data__, result = data["delete"](key);
120
+ this.size = data.size;
121
+ return result;
122
+ }
123
+ var _stackDelete = stackDelete$1;
124
+ function stackGet$1(key) {
125
+ return this.__data__.get(key);
126
+ }
127
+ var _stackGet = stackGet$1;
128
+ function stackHas$1(key) {
129
+ return this.__data__.has(key);
130
+ }
131
+ var _stackHas = stackHas$1;
132
+ var freeGlobal$1 = typeof commonjsGlobal == "object" && commonjsGlobal && commonjsGlobal.Object === Object && commonjsGlobal;
133
+ var _freeGlobal = freeGlobal$1;
134
+ var freeGlobal = _freeGlobal;
135
+ var freeSelf = typeof self == "object" && self && self.Object === Object && self;
136
+ var root$8 = freeGlobal || freeSelf || Function("return this")();
137
+ var _root = root$8;
138
+ var root$7 = _root;
139
+ var Symbol$7 = root$7.Symbol;
140
+ var _Symbol = Symbol$7;
141
+ var Symbol$6 = _Symbol;
142
+ var objectProto$f = Object.prototype;
143
+ var hasOwnProperty$c = objectProto$f.hasOwnProperty;
144
+ var nativeObjectToString$1 = objectProto$f.toString;
145
+ var symToStringTag$1 = Symbol$6 ? Symbol$6.toStringTag : void 0;
146
+ function getRawTag$1(value) {
147
+ var isOwn = hasOwnProperty$c.call(value, symToStringTag$1), tag = value[symToStringTag$1];
148
+ try {
149
+ value[symToStringTag$1] = void 0;
150
+ var unmasked = true;
151
+ } catch (e) {
152
+ }
153
+ var result = nativeObjectToString$1.call(value);
154
+ if (unmasked) {
155
+ if (isOwn) {
156
+ value[symToStringTag$1] = tag;
157
+ } else {
158
+ delete value[symToStringTag$1];
159
+ }
160
+ }
161
+ return result;
162
+ }
163
+ var _getRawTag = getRawTag$1;
164
+ var objectProto$e = Object.prototype;
165
+ var nativeObjectToString = objectProto$e.toString;
166
+ function objectToString$1(value) {
167
+ return nativeObjectToString.call(value);
168
+ }
169
+ var _objectToString = objectToString$1;
170
+ var Symbol$5 = _Symbol, getRawTag = _getRawTag, objectToString = _objectToString;
171
+ var nullTag = "[object Null]", undefinedTag = "[object Undefined]";
172
+ var symToStringTag = Symbol$5 ? Symbol$5.toStringTag : void 0;
173
+ function baseGetTag$6(value) {
174
+ if (value == null) {
175
+ return value === void 0 ? undefinedTag : nullTag;
176
+ }
177
+ return symToStringTag && symToStringTag in Object(value) ? getRawTag(value) : objectToString(value);
178
+ }
179
+ var _baseGetTag = baseGetTag$6;
180
+ function isObject$7(value) {
181
+ var type2 = typeof value;
182
+ return value != null && (type2 == "object" || type2 == "function");
183
+ }
184
+ var isObject_1 = isObject$7;
185
+ var baseGetTag$5 = _baseGetTag, isObject$6 = isObject_1;
186
+ var asyncTag = "[object AsyncFunction]", funcTag$2 = "[object Function]", genTag$1 = "[object GeneratorFunction]", proxyTag = "[object Proxy]";
187
+ function isFunction$2(value) {
188
+ if (!isObject$6(value)) {
189
+ return false;
190
+ }
191
+ var tag = baseGetTag$5(value);
192
+ return tag == funcTag$2 || tag == genTag$1 || tag == asyncTag || tag == proxyTag;
193
+ }
194
+ var isFunction_1 = isFunction$2;
195
+ var root$6 = _root;
196
+ var coreJsData$1 = root$6["__core-js_shared__"];
197
+ var _coreJsData = coreJsData$1;
198
+ var coreJsData = _coreJsData;
199
+ var maskSrcKey = function() {
200
+ var uid = /[^.]+$/.exec(coreJsData && coreJsData.keys && coreJsData.keys.IE_PROTO || "");
201
+ return uid ? "Symbol(src)_1." + uid : "";
202
+ }();
203
+ function isMasked$1(func) {
204
+ return !!maskSrcKey && maskSrcKey in func;
205
+ }
206
+ var _isMasked = isMasked$1;
207
+ var funcProto$1 = Function.prototype;
208
+ var funcToString$1 = funcProto$1.toString;
209
+ function toSource$2(func) {
210
+ if (func != null) {
211
+ try {
212
+ return funcToString$1.call(func);
213
+ } catch (e) {
214
+ }
215
+ try {
216
+ return func + "";
217
+ } catch (e) {
218
+ }
219
+ }
220
+ return "";
221
+ }
222
+ var _toSource = toSource$2;
223
+ var isFunction$1 = isFunction_1, isMasked = _isMasked, isObject$5 = isObject_1, toSource$1 = _toSource;
224
+ var reRegExpChar = /[\\^$.*+?()[\]{}|]/g;
225
+ var reIsHostCtor = /^\[object .+?Constructor\]$/;
226
+ var funcProto = Function.prototype, objectProto$d = Object.prototype;
227
+ var funcToString = funcProto.toString;
228
+ var hasOwnProperty$b = objectProto$d.hasOwnProperty;
229
+ var reIsNative = RegExp(
230
+ "^" + funcToString.call(hasOwnProperty$b).replace(reRegExpChar, "\\$&").replace(/hasOwnProperty|(function).*?(?=\\\()| for .+?(?=\\\])/g, "$1.*?") + "$"
231
+ );
232
+ function baseIsNative$1(value) {
233
+ if (!isObject$5(value) || isMasked(value)) {
234
+ return false;
235
+ }
236
+ var pattern = isFunction$1(value) ? reIsNative : reIsHostCtor;
237
+ return pattern.test(toSource$1(value));
238
+ }
239
+ var _baseIsNative = baseIsNative$1;
240
+ function getValue$1(object, key) {
241
+ return object == null ? void 0 : object[key];
242
+ }
243
+ var _getValue = getValue$1;
244
+ var baseIsNative = _baseIsNative, getValue = _getValue;
245
+ function getNative$7(object, key) {
246
+ var value = getValue(object, key);
247
+ return baseIsNative(value) ? value : void 0;
248
+ }
249
+ var _getNative = getNative$7;
250
+ var getNative$6 = _getNative, root$5 = _root;
251
+ var Map$3 = getNative$6(root$5, "Map");
252
+ var _Map = Map$3;
253
+ var getNative$5 = _getNative;
254
+ var nativeCreate$4 = getNative$5(Object, "create");
255
+ var _nativeCreate = nativeCreate$4;
256
+ var nativeCreate$3 = _nativeCreate;
257
+ function hashClear$1() {
258
+ this.__data__ = nativeCreate$3 ? nativeCreate$3(null) : {};
259
+ this.size = 0;
260
+ }
261
+ var _hashClear = hashClear$1;
262
+ function hashDelete$1(key) {
263
+ var result = this.has(key) && delete this.__data__[key];
264
+ this.size -= result ? 1 : 0;
265
+ return result;
266
+ }
267
+ var _hashDelete = hashDelete$1;
268
+ var nativeCreate$2 = _nativeCreate;
269
+ var HASH_UNDEFINED$2 = "__lodash_hash_undefined__";
270
+ var objectProto$c = Object.prototype;
271
+ var hasOwnProperty$a = objectProto$c.hasOwnProperty;
272
+ function hashGet$1(key) {
273
+ var data = this.__data__;
274
+ if (nativeCreate$2) {
275
+ var result = data[key];
276
+ return result === HASH_UNDEFINED$2 ? void 0 : result;
277
+ }
278
+ return hasOwnProperty$a.call(data, key) ? data[key] : void 0;
279
+ }
280
+ var _hashGet = hashGet$1;
281
+ var nativeCreate$1 = _nativeCreate;
282
+ var objectProto$b = Object.prototype;
283
+ var hasOwnProperty$9 = objectProto$b.hasOwnProperty;
284
+ function hashHas$1(key) {
285
+ var data = this.__data__;
286
+ return nativeCreate$1 ? data[key] !== void 0 : hasOwnProperty$9.call(data, key);
287
+ }
288
+ var _hashHas = hashHas$1;
289
+ var nativeCreate = _nativeCreate;
290
+ var HASH_UNDEFINED$1 = "__lodash_hash_undefined__";
291
+ function hashSet$1(key, value) {
292
+ var data = this.__data__;
293
+ this.size += this.has(key) ? 0 : 1;
294
+ data[key] = nativeCreate && value === void 0 ? HASH_UNDEFINED$1 : value;
295
+ return this;
296
+ }
297
+ var _hashSet = hashSet$1;
298
+ var hashClear = _hashClear, hashDelete = _hashDelete, hashGet = _hashGet, hashHas = _hashHas, hashSet = _hashSet;
299
+ function Hash$1(entries) {
300
+ var index2 = -1, length = entries == null ? 0 : entries.length;
301
+ this.clear();
302
+ while (++index2 < length) {
303
+ var entry = entries[index2];
304
+ this.set(entry[0], entry[1]);
305
+ }
306
+ }
307
+ Hash$1.prototype.clear = hashClear;
308
+ Hash$1.prototype["delete"] = hashDelete;
309
+ Hash$1.prototype.get = hashGet;
310
+ Hash$1.prototype.has = hashHas;
311
+ Hash$1.prototype.set = hashSet;
312
+ var _Hash = Hash$1;
313
+ var Hash = _Hash, ListCache$2 = _ListCache, Map$2 = _Map;
314
+ function mapCacheClear$1() {
315
+ this.size = 0;
316
+ this.__data__ = {
317
+ "hash": new Hash(),
318
+ "map": new (Map$2 || ListCache$2)(),
319
+ "string": new Hash()
320
+ };
321
+ }
322
+ var _mapCacheClear = mapCacheClear$1;
323
+ function isKeyable$1(value) {
324
+ var type2 = typeof value;
325
+ return type2 == "string" || type2 == "number" || type2 == "symbol" || type2 == "boolean" ? value !== "__proto__" : value === null;
326
+ }
327
+ var _isKeyable = isKeyable$1;
328
+ var isKeyable = _isKeyable;
329
+ function getMapData$4(map2, key) {
330
+ var data = map2.__data__;
331
+ return isKeyable(key) ? data[typeof key == "string" ? "string" : "hash"] : data.map;
332
+ }
333
+ var _getMapData = getMapData$4;
334
+ var getMapData$3 = _getMapData;
335
+ function mapCacheDelete$1(key) {
336
+ var result = getMapData$3(this, key)["delete"](key);
337
+ this.size -= result ? 1 : 0;
338
+ return result;
339
+ }
340
+ var _mapCacheDelete = mapCacheDelete$1;
341
+ var getMapData$2 = _getMapData;
342
+ function mapCacheGet$1(key) {
343
+ return getMapData$2(this, key).get(key);
344
+ }
345
+ var _mapCacheGet = mapCacheGet$1;
346
+ var getMapData$1 = _getMapData;
347
+ function mapCacheHas$1(key) {
348
+ return getMapData$1(this, key).has(key);
349
+ }
350
+ var _mapCacheHas = mapCacheHas$1;
351
+ var getMapData = _getMapData;
352
+ function mapCacheSet$1(key, value) {
353
+ var data = getMapData(this, key), size = data.size;
354
+ data.set(key, value);
355
+ this.size += data.size == size ? 0 : 1;
356
+ return this;
357
+ }
358
+ var _mapCacheSet = mapCacheSet$1;
359
+ var mapCacheClear = _mapCacheClear, mapCacheDelete = _mapCacheDelete, mapCacheGet = _mapCacheGet, mapCacheHas = _mapCacheHas, mapCacheSet = _mapCacheSet;
360
+ function MapCache$3(entries) {
361
+ var index2 = -1, length = entries == null ? 0 : entries.length;
362
+ this.clear();
363
+ while (++index2 < length) {
364
+ var entry = entries[index2];
365
+ this.set(entry[0], entry[1]);
366
+ }
367
+ }
368
+ MapCache$3.prototype.clear = mapCacheClear;
369
+ MapCache$3.prototype["delete"] = mapCacheDelete;
370
+ MapCache$3.prototype.get = mapCacheGet;
371
+ MapCache$3.prototype.has = mapCacheHas;
372
+ MapCache$3.prototype.set = mapCacheSet;
373
+ var _MapCache = MapCache$3;
374
+ var ListCache$1 = _ListCache, Map$1 = _Map, MapCache$2 = _MapCache;
375
+ var LARGE_ARRAY_SIZE = 200;
376
+ function stackSet$1(key, value) {
377
+ var data = this.__data__;
378
+ if (data instanceof ListCache$1) {
379
+ var pairs = data.__data__;
380
+ if (!Map$1 || pairs.length < LARGE_ARRAY_SIZE - 1) {
381
+ pairs.push([key, value]);
382
+ this.size = ++data.size;
383
+ return this;
384
+ }
385
+ data = this.__data__ = new MapCache$2(pairs);
386
+ }
387
+ data.set(key, value);
388
+ this.size = data.size;
389
+ return this;
390
+ }
391
+ var _stackSet = stackSet$1;
392
+ var ListCache = _ListCache, stackClear = _stackClear, stackDelete = _stackDelete, stackGet = _stackGet, stackHas = _stackHas, stackSet = _stackSet;
393
+ function Stack$3(entries) {
394
+ var data = this.__data__ = new ListCache(entries);
395
+ this.size = data.size;
396
+ }
397
+ Stack$3.prototype.clear = stackClear;
398
+ Stack$3.prototype["delete"] = stackDelete;
399
+ Stack$3.prototype.get = stackGet;
400
+ Stack$3.prototype.has = stackHas;
401
+ Stack$3.prototype.set = stackSet;
402
+ var _Stack = Stack$3;
403
+ function arrayEach$1(array, iteratee) {
404
+ var index2 = -1, length = array == null ? 0 : array.length;
405
+ while (++index2 < length) {
406
+ if (iteratee(array[index2], index2, array) === false) {
407
+ break;
408
+ }
409
+ }
410
+ return array;
411
+ }
412
+ var _arrayEach = arrayEach$1;
413
+ var getNative$4 = _getNative;
414
+ var defineProperty$2 = function() {
415
+ try {
416
+ var func = getNative$4(Object, "defineProperty");
417
+ func({}, "", {});
418
+ return func;
419
+ } catch (e) {
420
+ }
421
+ }();
422
+ var _defineProperty$1 = defineProperty$2;
423
+ var defineProperty$1 = _defineProperty$1;
424
+ function baseAssignValue$2(object, key, value) {
425
+ if (key == "__proto__" && defineProperty$1) {
426
+ defineProperty$1(object, key, {
427
+ "configurable": true,
428
+ "enumerable": true,
429
+ "value": value,
430
+ "writable": true
431
+ });
432
+ } else {
433
+ object[key] = value;
434
+ }
435
+ }
436
+ var _baseAssignValue = baseAssignValue$2;
437
+ var baseAssignValue$1 = _baseAssignValue, eq$1 = eq_1;
438
+ var objectProto$a = Object.prototype;
439
+ var hasOwnProperty$8 = objectProto$a.hasOwnProperty;
440
+ function assignValue$3(object, key, value) {
441
+ var objValue = object[key];
442
+ if (!(hasOwnProperty$8.call(object, key) && eq$1(objValue, value)) || value === void 0 && !(key in object)) {
443
+ baseAssignValue$1(object, key, value);
444
+ }
445
+ }
446
+ var _assignValue = assignValue$3;
447
+ var assignValue$2 = _assignValue, baseAssignValue = _baseAssignValue;
448
+ function copyObject$4(source, props, object, customizer) {
449
+ var isNew = !object;
450
+ object || (object = {});
451
+ var index2 = -1, length = props.length;
452
+ while (++index2 < length) {
453
+ var key = props[index2];
454
+ var newValue = customizer ? customizer(object[key], source[key], key, object, source) : void 0;
455
+ if (newValue === void 0) {
456
+ newValue = source[key];
457
+ }
458
+ if (isNew) {
459
+ baseAssignValue(object, key, newValue);
460
+ } else {
461
+ assignValue$2(object, key, newValue);
462
+ }
463
+ }
464
+ return object;
465
+ }
466
+ var _copyObject = copyObject$4;
467
+ function baseTimes$1(n, iteratee) {
468
+ var index2 = -1, result = Array(n);
469
+ while (++index2 < n) {
470
+ result[index2] = iteratee(index2);
471
+ }
472
+ return result;
473
+ }
474
+ var _baseTimes = baseTimes$1;
475
+ function isObjectLike$8(value) {
476
+ return value != null && typeof value == "object";
477
+ }
478
+ var isObjectLike_1 = isObjectLike$8;
479
+ var baseGetTag$4 = _baseGetTag, isObjectLike$7 = isObjectLike_1;
480
+ var argsTag$3 = "[object Arguments]";
481
+ function baseIsArguments$1(value) {
482
+ return isObjectLike$7(value) && baseGetTag$4(value) == argsTag$3;
483
+ }
484
+ var _baseIsArguments = baseIsArguments$1;
485
+ var baseIsArguments = _baseIsArguments, isObjectLike$6 = isObjectLike_1;
486
+ var objectProto$9 = Object.prototype;
487
+ var hasOwnProperty$7 = objectProto$9.hasOwnProperty;
488
+ var propertyIsEnumerable$1 = objectProto$9.propertyIsEnumerable;
489
+ var isArguments$4 = baseIsArguments(function() {
490
+ return arguments;
491
+ }()) ? baseIsArguments : function(value) {
492
+ return isObjectLike$6(value) && hasOwnProperty$7.call(value, "callee") && !propertyIsEnumerable$1.call(value, "callee");
493
+ };
494
+ var isArguments_1 = isArguments$4;
495
+ var isArray$c = Array.isArray;
496
+ var isArray_1 = isArray$c;
497
+ var isBuffer$4 = { exports: {} };
498
+ function stubFalse() {
499
+ return false;
500
+ }
501
+ var stubFalse_1 = stubFalse;
502
+ isBuffer$4.exports;
503
+ (function(module2, exports2) {
504
+ var root2 = _root, stubFalse2 = stubFalse_1;
505
+ var freeExports = exports2 && !exports2.nodeType && exports2;
506
+ var freeModule = freeExports && true && module2 && !module2.nodeType && module2;
507
+ var moduleExports = freeModule && freeModule.exports === freeExports;
508
+ var Buffer = moduleExports ? root2.Buffer : void 0;
509
+ var nativeIsBuffer = Buffer ? Buffer.isBuffer : void 0;
510
+ var isBuffer2 = nativeIsBuffer || stubFalse2;
511
+ module2.exports = isBuffer2;
512
+ })(isBuffer$4, isBuffer$4.exports);
513
+ var isBufferExports = isBuffer$4.exports;
514
+ var MAX_SAFE_INTEGER$1 = 9007199254740991;
515
+ var reIsUint = /^(?:0|[1-9]\d*)$/;
516
+ function isIndex$3(value, length) {
517
+ var type2 = typeof value;
518
+ length = length == null ? MAX_SAFE_INTEGER$1 : length;
519
+ return !!length && (type2 == "number" || type2 != "symbol" && reIsUint.test(value)) && (value > -1 && value % 1 == 0 && value < length);
520
+ }
521
+ var _isIndex = isIndex$3;
522
+ var MAX_SAFE_INTEGER = 9007199254740991;
523
+ function isLength$3(value) {
524
+ return typeof value == "number" && value > -1 && value % 1 == 0 && value <= MAX_SAFE_INTEGER;
525
+ }
526
+ var isLength_1 = isLength$3;
527
+ var baseGetTag$3 = _baseGetTag, isLength$2 = isLength_1, isObjectLike$5 = isObjectLike_1;
528
+ var argsTag$2 = "[object Arguments]", arrayTag$2 = "[object Array]", boolTag$3 = "[object Boolean]", dateTag$3 = "[object Date]", errorTag$2 = "[object Error]", funcTag$1 = "[object Function]", mapTag$6 = "[object Map]", numberTag$4 = "[object Number]", objectTag$3 = "[object Object]", regexpTag$3 = "[object RegExp]", setTag$6 = "[object Set]", stringTag$3 = "[object String]", weakMapTag$2 = "[object WeakMap]";
529
+ var arrayBufferTag$3 = "[object ArrayBuffer]", dataViewTag$4 = "[object DataView]", float32Tag$2 = "[object Float32Array]", float64Tag$2 = "[object Float64Array]", int8Tag$2 = "[object Int8Array]", int16Tag$2 = "[object Int16Array]", int32Tag$2 = "[object Int32Array]", uint8Tag$2 = "[object Uint8Array]", uint8ClampedTag$2 = "[object Uint8ClampedArray]", uint16Tag$2 = "[object Uint16Array]", uint32Tag$2 = "[object Uint32Array]";
530
+ var typedArrayTags = {};
531
+ typedArrayTags[float32Tag$2] = typedArrayTags[float64Tag$2] = typedArrayTags[int8Tag$2] = typedArrayTags[int16Tag$2] = typedArrayTags[int32Tag$2] = typedArrayTags[uint8Tag$2] = typedArrayTags[uint8ClampedTag$2] = typedArrayTags[uint16Tag$2] = typedArrayTags[uint32Tag$2] = true;
532
+ typedArrayTags[argsTag$2] = typedArrayTags[arrayTag$2] = typedArrayTags[arrayBufferTag$3] = typedArrayTags[boolTag$3] = typedArrayTags[dataViewTag$4] = typedArrayTags[dateTag$3] = typedArrayTags[errorTag$2] = typedArrayTags[funcTag$1] = typedArrayTags[mapTag$6] = typedArrayTags[numberTag$4] = typedArrayTags[objectTag$3] = typedArrayTags[regexpTag$3] = typedArrayTags[setTag$6] = typedArrayTags[stringTag$3] = typedArrayTags[weakMapTag$2] = false;
533
+ function baseIsTypedArray$1(value) {
534
+ return isObjectLike$5(value) && isLength$2(value.length) && !!typedArrayTags[baseGetTag$3(value)];
535
+ }
536
+ var _baseIsTypedArray = baseIsTypedArray$1;
537
+ function baseUnary$4(func) {
538
+ return function(value) {
539
+ return func(value);
540
+ };
541
+ }
542
+ var _baseUnary = baseUnary$4;
543
+ var _nodeUtil = { exports: {} };
544
+ _nodeUtil.exports;
545
+ (function(module2, exports2) {
546
+ var freeGlobal2 = _freeGlobal;
547
+ var freeExports = exports2 && !exports2.nodeType && exports2;
548
+ var freeModule = freeExports && true && module2 && !module2.nodeType && module2;
549
+ var moduleExports = freeModule && freeModule.exports === freeExports;
550
+ var freeProcess = moduleExports && freeGlobal2.process;
551
+ var nodeUtil2 = function() {
552
+ try {
553
+ var types = freeModule && freeModule.require && freeModule.require("util").types;
554
+ if (types) {
555
+ return types;
556
+ }
557
+ return freeProcess && freeProcess.binding && freeProcess.binding("util");
558
+ } catch (e) {
559
+ }
560
+ }();
561
+ module2.exports = nodeUtil2;
562
+ })(_nodeUtil, _nodeUtil.exports);
563
+ var _nodeUtilExports = _nodeUtil.exports;
564
+ var baseIsTypedArray = _baseIsTypedArray, baseUnary$3 = _baseUnary, nodeUtil$2 = _nodeUtilExports;
565
+ var nodeIsTypedArray = nodeUtil$2 && nodeUtil$2.isTypedArray;
566
+ var isTypedArray$3 = nodeIsTypedArray ? baseUnary$3(nodeIsTypedArray) : baseIsTypedArray;
567
+ var isTypedArray_1 = isTypedArray$3;
568
+ var baseTimes = _baseTimes, isArguments$3 = isArguments_1, isArray$b = isArray_1, isBuffer$3 = isBufferExports, isIndex$2 = _isIndex, isTypedArray$2 = isTypedArray_1;
569
+ var objectProto$8 = Object.prototype;
570
+ var hasOwnProperty$6 = objectProto$8.hasOwnProperty;
571
+ function arrayLikeKeys$2(value, inherited) {
572
+ var isArr = isArray$b(value), isArg = !isArr && isArguments$3(value), isBuff = !isArr && !isArg && isBuffer$3(value), isType = !isArr && !isArg && !isBuff && isTypedArray$2(value), skipIndexes = isArr || isArg || isBuff || isType, result = skipIndexes ? baseTimes(value.length, String) : [], length = result.length;
573
+ for (var key in value) {
574
+ if ((inherited || hasOwnProperty$6.call(value, key)) && !(skipIndexes && // Safari 9 has enumerable `arguments.length` in strict mode.
575
+ (key == "length" || // Node.js 0.10 has enumerable non-index properties on buffers.
576
+ isBuff && (key == "offset" || key == "parent") || // PhantomJS 2 has enumerable non-index properties on typed arrays.
577
+ isType && (key == "buffer" || key == "byteLength" || key == "byteOffset") || // Skip index properties.
578
+ isIndex$2(key, length)))) {
579
+ result.push(key);
580
+ }
581
+ }
582
+ return result;
583
+ }
584
+ var _arrayLikeKeys = arrayLikeKeys$2;
585
+ var objectProto$7 = Object.prototype;
586
+ function isPrototype$4(value) {
587
+ var Ctor = value && value.constructor, proto = typeof Ctor == "function" && Ctor.prototype || objectProto$7;
588
+ return value === proto;
589
+ }
590
+ var _isPrototype = isPrototype$4;
591
+ function overArg$2(func, transform) {
592
+ return function(arg) {
593
+ return func(transform(arg));
594
+ };
595
+ }
596
+ var _overArg = overArg$2;
597
+ var overArg$1 = _overArg;
598
+ var nativeKeys$1 = overArg$1(Object.keys, Object);
599
+ var _nativeKeys = nativeKeys$1;
600
+ var isPrototype$3 = _isPrototype, nativeKeys = _nativeKeys;
601
+ var objectProto$6 = Object.prototype;
602
+ var hasOwnProperty$5 = objectProto$6.hasOwnProperty;
603
+ function baseKeys$2(object) {
604
+ if (!isPrototype$3(object)) {
605
+ return nativeKeys(object);
606
+ }
607
+ var result = [];
608
+ for (var key in Object(object)) {
609
+ if (hasOwnProperty$5.call(object, key) && key != "constructor") {
610
+ result.push(key);
611
+ }
612
+ }
613
+ return result;
614
+ }
615
+ var _baseKeys = baseKeys$2;
616
+ var isFunction = isFunction_1, isLength$1 = isLength_1;
617
+ function isArrayLike$5(value) {
618
+ return value != null && isLength$1(value.length) && !isFunction(value);
619
+ }
620
+ var isArrayLike_1 = isArrayLike$5;
621
+ var arrayLikeKeys$1 = _arrayLikeKeys, baseKeys$1 = _baseKeys, isArrayLike$4 = isArrayLike_1;
622
+ function keys$5(object) {
623
+ return isArrayLike$4(object) ? arrayLikeKeys$1(object) : baseKeys$1(object);
624
+ }
625
+ var keys_1 = keys$5;
626
+ var copyObject$3 = _copyObject, keys$4 = keys_1;
627
+ function baseAssign$1(object, source) {
628
+ return object && copyObject$3(source, keys$4(source), object);
629
+ }
630
+ var _baseAssign = baseAssign$1;
631
+ function nativeKeysIn$1(object) {
632
+ var result = [];
633
+ if (object != null) {
634
+ for (var key in Object(object)) {
635
+ result.push(key);
636
+ }
637
+ }
638
+ return result;
639
+ }
640
+ var _nativeKeysIn = nativeKeysIn$1;
641
+ var isObject$4 = isObject_1, isPrototype$2 = _isPrototype, nativeKeysIn = _nativeKeysIn;
642
+ var objectProto$5 = Object.prototype;
643
+ var hasOwnProperty$4 = objectProto$5.hasOwnProperty;
644
+ function baseKeysIn$1(object) {
645
+ if (!isObject$4(object)) {
646
+ return nativeKeysIn(object);
647
+ }
648
+ var isProto = isPrototype$2(object), result = [];
649
+ for (var key in object) {
650
+ if (!(key == "constructor" && (isProto || !hasOwnProperty$4.call(object, key)))) {
651
+ result.push(key);
652
+ }
653
+ }
654
+ return result;
655
+ }
656
+ var _baseKeysIn = baseKeysIn$1;
657
+ var arrayLikeKeys = _arrayLikeKeys, baseKeysIn = _baseKeysIn, isArrayLike$3 = isArrayLike_1;
658
+ function keysIn$3(object) {
659
+ return isArrayLike$3(object) ? arrayLikeKeys(object, true) : baseKeysIn(object);
660
+ }
661
+ var keysIn_1 = keysIn$3;
662
+ var copyObject$2 = _copyObject, keysIn$2 = keysIn_1;
663
+ function baseAssignIn$1(object, source) {
664
+ return object && copyObject$2(source, keysIn$2(source), object);
665
+ }
666
+ var _baseAssignIn = baseAssignIn$1;
667
+ var _cloneBuffer = { exports: {} };
668
+ _cloneBuffer.exports;
669
+ (function(module2, exports2) {
670
+ var root2 = _root;
671
+ var freeExports = exports2 && !exports2.nodeType && exports2;
672
+ var freeModule = freeExports && true && module2 && !module2.nodeType && module2;
673
+ var moduleExports = freeModule && freeModule.exports === freeExports;
674
+ var Buffer = moduleExports ? root2.Buffer : void 0, allocUnsafe = Buffer ? Buffer.allocUnsafe : void 0;
675
+ function cloneBuffer2(buffer, isDeep) {
676
+ if (isDeep) {
677
+ return buffer.slice();
678
+ }
679
+ var length = buffer.length, result = allocUnsafe ? allocUnsafe(length) : new buffer.constructor(length);
680
+ buffer.copy(result);
681
+ return result;
682
+ }
683
+ module2.exports = cloneBuffer2;
684
+ })(_cloneBuffer, _cloneBuffer.exports);
685
+ var _cloneBufferExports = _cloneBuffer.exports;
686
+ function copyArray$2(source, array) {
687
+ var index2 = -1, length = source.length;
688
+ array || (array = Array(length));
689
+ while (++index2 < length) {
690
+ array[index2] = source[index2];
691
+ }
692
+ return array;
693
+ }
694
+ var _copyArray = copyArray$2;
695
+ function arrayFilter$1(array, predicate) {
696
+ var index2 = -1, length = array == null ? 0 : array.length, resIndex = 0, result = [];
697
+ while (++index2 < length) {
698
+ var value = array[index2];
699
+ if (predicate(value, index2, array)) {
700
+ result[resIndex++] = value;
701
+ }
702
+ }
703
+ return result;
704
+ }
705
+ var _arrayFilter = arrayFilter$1;
706
+ function stubArray$2() {
707
+ return [];
708
+ }
709
+ var stubArray_1 = stubArray$2;
710
+ var arrayFilter = _arrayFilter, stubArray$1 = stubArray_1;
711
+ var objectProto$4 = Object.prototype;
712
+ var propertyIsEnumerable = objectProto$4.propertyIsEnumerable;
713
+ var nativeGetSymbols$1 = Object.getOwnPropertySymbols;
714
+ var getSymbols$3 = !nativeGetSymbols$1 ? stubArray$1 : function(object) {
715
+ if (object == null) {
716
+ return [];
717
+ }
718
+ object = Object(object);
719
+ return arrayFilter(nativeGetSymbols$1(object), function(symbol) {
720
+ return propertyIsEnumerable.call(object, symbol);
721
+ });
722
+ };
723
+ var _getSymbols = getSymbols$3;
724
+ var copyObject$1 = _copyObject, getSymbols$2 = _getSymbols;
725
+ function copySymbols$1(source, object) {
726
+ return copyObject$1(source, getSymbols$2(source), object);
727
+ }
728
+ var _copySymbols = copySymbols$1;
729
+ function arrayPush$3(array, values) {
730
+ var index2 = -1, length = values.length, offset = array.length;
731
+ while (++index2 < length) {
732
+ array[offset + index2] = values[index2];
733
+ }
734
+ return array;
735
+ }
736
+ var _arrayPush = arrayPush$3;
737
+ var overArg = _overArg;
738
+ var getPrototype$2 = overArg(Object.getPrototypeOf, Object);
739
+ var _getPrototype = getPrototype$2;
740
+ var arrayPush$2 = _arrayPush, getPrototype$1 = _getPrototype, getSymbols$1 = _getSymbols, stubArray = stubArray_1;
741
+ var nativeGetSymbols = Object.getOwnPropertySymbols;
742
+ var getSymbolsIn$2 = !nativeGetSymbols ? stubArray : function(object) {
743
+ var result = [];
744
+ while (object) {
745
+ arrayPush$2(result, getSymbols$1(object));
746
+ object = getPrototype$1(object);
747
+ }
748
+ return result;
749
+ };
750
+ var _getSymbolsIn = getSymbolsIn$2;
751
+ var copyObject = _copyObject, getSymbolsIn$1 = _getSymbolsIn;
752
+ function copySymbolsIn$1(source, object) {
753
+ return copyObject(source, getSymbolsIn$1(source), object);
754
+ }
755
+ var _copySymbolsIn = copySymbolsIn$1;
756
+ var arrayPush$1 = _arrayPush, isArray$a = isArray_1;
757
+ function baseGetAllKeys$2(object, keysFunc, symbolsFunc) {
758
+ var result = keysFunc(object);
759
+ return isArray$a(object) ? result : arrayPush$1(result, symbolsFunc(object));
760
+ }
761
+ var _baseGetAllKeys = baseGetAllKeys$2;
762
+ var baseGetAllKeys$1 = _baseGetAllKeys, getSymbols = _getSymbols, keys$3 = keys_1;
763
+ function getAllKeys$2(object) {
764
+ return baseGetAllKeys$1(object, keys$3, getSymbols);
765
+ }
766
+ var _getAllKeys = getAllKeys$2;
767
+ var baseGetAllKeys = _baseGetAllKeys, getSymbolsIn = _getSymbolsIn, keysIn$1 = keysIn_1;
768
+ function getAllKeysIn$1(object) {
769
+ return baseGetAllKeys(object, keysIn$1, getSymbolsIn);
770
+ }
771
+ var _getAllKeysIn = getAllKeysIn$1;
772
+ var getNative$3 = _getNative, root$4 = _root;
773
+ var DataView$1 = getNative$3(root$4, "DataView");
774
+ var _DataView = DataView$1;
775
+ var getNative$2 = _getNative, root$3 = _root;
776
+ var Promise$2 = getNative$2(root$3, "Promise");
777
+ var _Promise = Promise$2;
778
+ var getNative$1 = _getNative, root$2 = _root;
779
+ var Set$1 = getNative$1(root$2, "Set");
780
+ var _Set = Set$1;
781
+ var getNative = _getNative, root$1 = _root;
782
+ var WeakMap$1 = getNative(root$1, "WeakMap");
783
+ var _WeakMap = WeakMap$1;
784
+ var DataView = _DataView, Map = _Map, Promise$1 = _Promise, Set = _Set, WeakMap = _WeakMap, baseGetTag$2 = _baseGetTag, toSource = _toSource;
785
+ var mapTag$5 = "[object Map]", objectTag$2 = "[object Object]", promiseTag = "[object Promise]", setTag$5 = "[object Set]", weakMapTag$1 = "[object WeakMap]";
786
+ var dataViewTag$3 = "[object DataView]";
787
+ var dataViewCtorString = toSource(DataView), mapCtorString = toSource(Map), promiseCtorString = toSource(Promise$1), setCtorString = toSource(Set), weakMapCtorString = toSource(WeakMap);
788
+ var getTag$5 = baseGetTag$2;
789
+ if (DataView && getTag$5(new DataView(new ArrayBuffer(1))) != dataViewTag$3 || Map && getTag$5(new Map()) != mapTag$5 || Promise$1 && getTag$5(Promise$1.resolve()) != promiseTag || Set && getTag$5(new Set()) != setTag$5 || WeakMap && getTag$5(new WeakMap()) != weakMapTag$1) {
790
+ getTag$5 = function(value) {
791
+ var result = baseGetTag$2(value), Ctor = result == objectTag$2 ? value.constructor : void 0, ctorString = Ctor ? toSource(Ctor) : "";
792
+ if (ctorString) {
793
+ switch (ctorString) {
794
+ case dataViewCtorString:
795
+ return dataViewTag$3;
796
+ case mapCtorString:
797
+ return mapTag$5;
798
+ case promiseCtorString:
799
+ return promiseTag;
800
+ case setCtorString:
801
+ return setTag$5;
802
+ case weakMapCtorString:
803
+ return weakMapTag$1;
804
+ }
805
+ }
806
+ return result;
807
+ };
808
+ }
809
+ var _getTag = getTag$5;
810
+ var objectProto$3 = Object.prototype;
811
+ var hasOwnProperty$3 = objectProto$3.hasOwnProperty;
812
+ function initCloneArray$1(array) {
813
+ var length = array.length, result = new array.constructor(length);
814
+ if (length && typeof array[0] == "string" && hasOwnProperty$3.call(array, "index")) {
815
+ result.index = array.index;
816
+ result.input = array.input;
817
+ }
818
+ return result;
819
+ }
820
+ var _initCloneArray = initCloneArray$1;
821
+ var root = _root;
822
+ var Uint8Array$3 = root.Uint8Array;
823
+ var _Uint8Array = Uint8Array$3;
824
+ var Uint8Array$2 = _Uint8Array;
825
+ function cloneArrayBuffer$3(arrayBuffer) {
826
+ var result = new arrayBuffer.constructor(arrayBuffer.byteLength);
827
+ new Uint8Array$2(result).set(new Uint8Array$2(arrayBuffer));
828
+ return result;
829
+ }
830
+ var _cloneArrayBuffer = cloneArrayBuffer$3;
831
+ var cloneArrayBuffer$2 = _cloneArrayBuffer;
832
+ function cloneDataView$1(dataView, isDeep) {
833
+ var buffer = isDeep ? cloneArrayBuffer$2(dataView.buffer) : dataView.buffer;
834
+ return new dataView.constructor(buffer, dataView.byteOffset, dataView.byteLength);
835
+ }
836
+ var _cloneDataView = cloneDataView$1;
837
+ var reFlags = /\w*$/;
838
+ function cloneRegExp$1(regexp) {
839
+ var result = new regexp.constructor(regexp.source, reFlags.exec(regexp));
840
+ result.lastIndex = regexp.lastIndex;
841
+ return result;
842
+ }
843
+ var _cloneRegExp = cloneRegExp$1;
844
+ var Symbol$4 = _Symbol;
845
+ var symbolProto$2 = Symbol$4 ? Symbol$4.prototype : void 0, symbolValueOf$1 = symbolProto$2 ? symbolProto$2.valueOf : void 0;
846
+ function cloneSymbol$1(symbol) {
847
+ return symbolValueOf$1 ? Object(symbolValueOf$1.call(symbol)) : {};
848
+ }
849
+ var _cloneSymbol = cloneSymbol$1;
850
+ var cloneArrayBuffer$1 = _cloneArrayBuffer;
851
+ function cloneTypedArray$1(typedArray, isDeep) {
852
+ var buffer = isDeep ? cloneArrayBuffer$1(typedArray.buffer) : typedArray.buffer;
853
+ return new typedArray.constructor(buffer, typedArray.byteOffset, typedArray.length);
854
+ }
855
+ var _cloneTypedArray = cloneTypedArray$1;
856
+ var cloneArrayBuffer = _cloneArrayBuffer, cloneDataView = _cloneDataView, cloneRegExp = _cloneRegExp, cloneSymbol = _cloneSymbol, cloneTypedArray = _cloneTypedArray;
857
+ var boolTag$2 = "[object Boolean]", dateTag$2 = "[object Date]", mapTag$4 = "[object Map]", numberTag$3 = "[object Number]", regexpTag$2 = "[object RegExp]", setTag$4 = "[object Set]", stringTag$2 = "[object String]", symbolTag$3 = "[object Symbol]";
858
+ var arrayBufferTag$2 = "[object ArrayBuffer]", dataViewTag$2 = "[object DataView]", float32Tag$1 = "[object Float32Array]", float64Tag$1 = "[object Float64Array]", int8Tag$1 = "[object Int8Array]", int16Tag$1 = "[object Int16Array]", int32Tag$1 = "[object Int32Array]", uint8Tag$1 = "[object Uint8Array]", uint8ClampedTag$1 = "[object Uint8ClampedArray]", uint16Tag$1 = "[object Uint16Array]", uint32Tag$1 = "[object Uint32Array]";
859
+ function initCloneByTag$1(object, tag, isDeep) {
860
+ var Ctor = object.constructor;
861
+ switch (tag) {
862
+ case arrayBufferTag$2:
863
+ return cloneArrayBuffer(object);
864
+ case boolTag$2:
865
+ case dateTag$2:
866
+ return new Ctor(+object);
867
+ case dataViewTag$2:
868
+ return cloneDataView(object, isDeep);
869
+ case float32Tag$1:
870
+ case float64Tag$1:
871
+ case int8Tag$1:
872
+ case int16Tag$1:
873
+ case int32Tag$1:
874
+ case uint8Tag$1:
875
+ case uint8ClampedTag$1:
876
+ case uint16Tag$1:
877
+ case uint32Tag$1:
878
+ return cloneTypedArray(object, isDeep);
879
+ case mapTag$4:
880
+ return new Ctor();
881
+ case numberTag$3:
882
+ case stringTag$2:
883
+ return new Ctor(object);
884
+ case regexpTag$2:
885
+ return cloneRegExp(object);
886
+ case setTag$4:
887
+ return new Ctor();
888
+ case symbolTag$3:
889
+ return cloneSymbol(object);
890
+ }
891
+ }
892
+ var _initCloneByTag = initCloneByTag$1;
893
+ var isObject$3 = isObject_1;
894
+ var objectCreate = Object.create;
895
+ var baseCreate$1 = function() {
896
+ function object() {
897
+ }
898
+ return function(proto) {
899
+ if (!isObject$3(proto)) {
900
+ return {};
901
+ }
902
+ if (objectCreate) {
903
+ return objectCreate(proto);
904
+ }
905
+ object.prototype = proto;
906
+ var result = new object();
907
+ object.prototype = void 0;
908
+ return result;
909
+ };
910
+ }();
911
+ var _baseCreate = baseCreate$1;
912
+ var baseCreate = _baseCreate, getPrototype = _getPrototype, isPrototype$1 = _isPrototype;
913
+ function initCloneObject$1(object) {
914
+ return typeof object.constructor == "function" && !isPrototype$1(object) ? baseCreate(getPrototype(object)) : {};
915
+ }
916
+ var _initCloneObject = initCloneObject$1;
917
+ var getTag$4 = _getTag, isObjectLike$4 = isObjectLike_1;
918
+ var mapTag$3 = "[object Map]";
919
+ function baseIsMap$1(value) {
920
+ return isObjectLike$4(value) && getTag$4(value) == mapTag$3;
921
+ }
922
+ var _baseIsMap = baseIsMap$1;
923
+ var baseIsMap = _baseIsMap, baseUnary$2 = _baseUnary, nodeUtil$1 = _nodeUtilExports;
924
+ var nodeIsMap = nodeUtil$1 && nodeUtil$1.isMap;
925
+ var isMap$1 = nodeIsMap ? baseUnary$2(nodeIsMap) : baseIsMap;
926
+ var isMap_1 = isMap$1;
927
+ var getTag$3 = _getTag, isObjectLike$3 = isObjectLike_1;
928
+ var setTag$3 = "[object Set]";
929
+ function baseIsSet$1(value) {
930
+ return isObjectLike$3(value) && getTag$3(value) == setTag$3;
931
+ }
932
+ var _baseIsSet = baseIsSet$1;
933
+ var baseIsSet = _baseIsSet, baseUnary$1 = _baseUnary, nodeUtil = _nodeUtilExports;
934
+ var nodeIsSet = nodeUtil && nodeUtil.isSet;
935
+ var isSet$1 = nodeIsSet ? baseUnary$1(nodeIsSet) : baseIsSet;
936
+ var isSet_1 = isSet$1;
937
+ var Stack$2 = _Stack, arrayEach = _arrayEach, assignValue$1 = _assignValue, baseAssign = _baseAssign, baseAssignIn = _baseAssignIn, cloneBuffer = _cloneBufferExports, copyArray$1 = _copyArray, copySymbols = _copySymbols, copySymbolsIn = _copySymbolsIn, getAllKeys$1 = _getAllKeys, getAllKeysIn = _getAllKeysIn, getTag$2 = _getTag, initCloneArray = _initCloneArray, initCloneByTag = _initCloneByTag, initCloneObject = _initCloneObject, isArray$9 = isArray_1, isBuffer$2 = isBufferExports, isMap = isMap_1, isObject$2 = isObject_1, isSet = isSet_1, keys$2 = keys_1, keysIn = keysIn_1;
938
+ var CLONE_DEEP_FLAG$1 = 1, CLONE_FLAT_FLAG = 2, CLONE_SYMBOLS_FLAG$1 = 4;
939
+ var argsTag$1 = "[object Arguments]", arrayTag$1 = "[object Array]", boolTag$1 = "[object Boolean]", dateTag$1 = "[object Date]", errorTag$1 = "[object Error]", funcTag = "[object Function]", genTag = "[object GeneratorFunction]", mapTag$2 = "[object Map]", numberTag$2 = "[object Number]", objectTag$1 = "[object Object]", regexpTag$1 = "[object RegExp]", setTag$2 = "[object Set]", stringTag$1 = "[object String]", symbolTag$2 = "[object Symbol]", weakMapTag = "[object WeakMap]";
940
+ var arrayBufferTag$1 = "[object ArrayBuffer]", dataViewTag$1 = "[object DataView]", float32Tag = "[object Float32Array]", float64Tag = "[object Float64Array]", int8Tag = "[object Int8Array]", int16Tag = "[object Int16Array]", int32Tag = "[object Int32Array]", uint8Tag = "[object Uint8Array]", uint8ClampedTag = "[object Uint8ClampedArray]", uint16Tag = "[object Uint16Array]", uint32Tag = "[object Uint32Array]";
941
+ var cloneableTags = {};
942
+ cloneableTags[argsTag$1] = cloneableTags[arrayTag$1] = cloneableTags[arrayBufferTag$1] = cloneableTags[dataViewTag$1] = cloneableTags[boolTag$1] = cloneableTags[dateTag$1] = cloneableTags[float32Tag] = cloneableTags[float64Tag] = cloneableTags[int8Tag] = cloneableTags[int16Tag] = cloneableTags[int32Tag] = cloneableTags[mapTag$2] = cloneableTags[numberTag$2] = cloneableTags[objectTag$1] = cloneableTags[regexpTag$1] = cloneableTags[setTag$2] = cloneableTags[stringTag$1] = cloneableTags[symbolTag$2] = cloneableTags[uint8Tag] = cloneableTags[uint8ClampedTag] = cloneableTags[uint16Tag] = cloneableTags[uint32Tag] = true;
943
+ cloneableTags[errorTag$1] = cloneableTags[funcTag] = cloneableTags[weakMapTag] = false;
944
+ function baseClone$1(value, bitmask, customizer, key, object, stack) {
945
+ var result, isDeep = bitmask & CLONE_DEEP_FLAG$1, isFlat = bitmask & CLONE_FLAT_FLAG, isFull = bitmask & CLONE_SYMBOLS_FLAG$1;
946
+ if (customizer) {
947
+ result = object ? customizer(value, key, object, stack) : customizer(value);
948
+ }
949
+ if (result !== void 0) {
950
+ return result;
951
+ }
952
+ if (!isObject$2(value)) {
953
+ return value;
954
+ }
955
+ var isArr = isArray$9(value);
956
+ if (isArr) {
957
+ result = initCloneArray(value);
958
+ if (!isDeep) {
959
+ return copyArray$1(value, result);
960
+ }
961
+ } else {
962
+ var tag = getTag$2(value), isFunc = tag == funcTag || tag == genTag;
963
+ if (isBuffer$2(value)) {
964
+ return cloneBuffer(value, isDeep);
965
+ }
966
+ if (tag == objectTag$1 || tag == argsTag$1 || isFunc && !object) {
967
+ result = isFlat || isFunc ? {} : initCloneObject(value);
968
+ if (!isDeep) {
969
+ return isFlat ? copySymbolsIn(value, baseAssignIn(result, value)) : copySymbols(value, baseAssign(result, value));
970
+ }
971
+ } else {
972
+ if (!cloneableTags[tag]) {
973
+ return object ? value : {};
974
+ }
975
+ result = initCloneByTag(value, tag, isDeep);
976
+ }
977
+ }
978
+ stack || (stack = new Stack$2());
979
+ var stacked = stack.get(value);
980
+ if (stacked) {
981
+ return stacked;
982
+ }
983
+ stack.set(value, result);
984
+ if (isSet(value)) {
985
+ value.forEach(function(subValue) {
986
+ result.add(baseClone$1(subValue, bitmask, customizer, subValue, value, stack));
987
+ });
988
+ } else if (isMap(value)) {
989
+ value.forEach(function(subValue, key2) {
990
+ result.set(key2, baseClone$1(subValue, bitmask, customizer, key2, value, stack));
991
+ });
992
+ }
993
+ var keysFunc = isFull ? isFlat ? getAllKeysIn : getAllKeys$1 : isFlat ? keysIn : keys$2;
994
+ var props = isArr ? void 0 : keysFunc(value);
995
+ arrayEach(props || value, function(subValue, key2) {
996
+ if (props) {
997
+ key2 = subValue;
998
+ subValue = value[key2];
999
+ }
1000
+ assignValue$1(result, key2, baseClone$1(subValue, bitmask, customizer, key2, value, stack));
1001
+ });
1002
+ return result;
1003
+ }
1004
+ var _baseClone = baseClone$1;
1005
+ var baseClone = _baseClone;
1006
+ var CLONE_DEEP_FLAG = 1, CLONE_SYMBOLS_FLAG = 4;
1007
+ function cloneDeep(value) {
1008
+ return baseClone(value, CLONE_DEEP_FLAG | CLONE_SYMBOLS_FLAG);
1009
+ }
1010
+ var cloneDeep_1 = cloneDeep;
1011
+ const cloneDeep$1 = /* @__PURE__ */ getDefaultExportFromCjs(cloneDeep_1);
1012
+ var baseGetTag$1 = _baseGetTag, isObjectLike$2 = isObjectLike_1;
1013
+ var numberTag$1 = "[object Number]";
1014
+ function isNumber(value) {
1015
+ return typeof value == "number" || isObjectLike$2(value) && baseGetTag$1(value) == numberTag$1;
1016
+ }
1017
+ var isNumber_1 = isNumber;
1018
+ const isNumber$1 = /* @__PURE__ */ getDefaultExportFromCjs(isNumber_1);
1019
+ var baseGetTag = _baseGetTag, isObjectLike$1 = isObjectLike_1;
1020
+ var symbolTag$1 = "[object Symbol]";
1021
+ function isSymbol$3(value) {
1022
+ return typeof value == "symbol" || isObjectLike$1(value) && baseGetTag(value) == symbolTag$1;
1023
+ }
1024
+ var isSymbol_1 = isSymbol$3;
1025
+ var isArray$8 = isArray_1, isSymbol$2 = isSymbol_1;
1026
+ var reIsDeepProp = /\.|\[(?:[^[\]]*|(["'])(?:(?!\1)[^\\]|\\.)*?\1)\]/, reIsPlainProp = /^\w*$/;
1027
+ function isKey$3(value, object) {
1028
+ if (isArray$8(value)) {
1029
+ return false;
1030
+ }
1031
+ var type2 = typeof value;
1032
+ if (type2 == "number" || type2 == "symbol" || type2 == "boolean" || value == null || isSymbol$2(value)) {
1033
+ return true;
1034
+ }
1035
+ return reIsPlainProp.test(value) || !reIsDeepProp.test(value) || object != null && value in Object(object);
1036
+ }
1037
+ var _isKey = isKey$3;
1038
+ var MapCache$1 = _MapCache;
1039
+ var FUNC_ERROR_TEXT = "Expected a function";
1040
+ function memoize$1(func, resolver) {
1041
+ if (typeof func != "function" || resolver != null && typeof resolver != "function") {
1042
+ throw new TypeError(FUNC_ERROR_TEXT);
1043
+ }
1044
+ var memoized = function() {
1045
+ var args = arguments, key = resolver ? resolver.apply(this, args) : args[0], cache = memoized.cache;
1046
+ if (cache.has(key)) {
1047
+ return cache.get(key);
1048
+ }
1049
+ var result = func.apply(this, args);
1050
+ memoized.cache = cache.set(key, result) || cache;
1051
+ return result;
1052
+ };
1053
+ memoized.cache = new (memoize$1.Cache || MapCache$1)();
1054
+ return memoized;
1055
+ }
1056
+ memoize$1.Cache = MapCache$1;
1057
+ var memoize_1 = memoize$1;
1058
+ var memoize = memoize_1;
1059
+ var MAX_MEMOIZE_SIZE = 500;
1060
+ function memoizeCapped$1(func) {
1061
+ var result = memoize(func, function(key) {
1062
+ if (cache.size === MAX_MEMOIZE_SIZE) {
1063
+ cache.clear();
1064
+ }
1065
+ return key;
1066
+ });
1067
+ var cache = result.cache;
1068
+ return result;
1069
+ }
1070
+ var _memoizeCapped = memoizeCapped$1;
1071
+ var memoizeCapped = _memoizeCapped;
1072
+ var rePropName = /[^.[\]]+|\[(?:(-?\d+(?:\.\d+)?)|(["'])((?:(?!\2)[^\\]|\\.)*?)\2)\]|(?=(?:\.|\[\])(?:\.|\[\]|$))/g;
1073
+ var reEscapeChar = /\\(\\)?/g;
1074
+ var stringToPath$1 = memoizeCapped(function(string) {
1075
+ var result = [];
1076
+ if (string.charCodeAt(0) === 46) {
1077
+ result.push("");
1078
+ }
1079
+ string.replace(rePropName, function(match, number, quote, subString) {
1080
+ result.push(quote ? subString.replace(reEscapeChar, "$1") : number || match);
1081
+ });
1082
+ return result;
1083
+ });
1084
+ var _stringToPath = stringToPath$1;
1085
+ function arrayMap$3(array, iteratee) {
1086
+ var index2 = -1, length = array == null ? 0 : array.length, result = Array(length);
1087
+ while (++index2 < length) {
1088
+ result[index2] = iteratee(array[index2], index2, array);
1089
+ }
1090
+ return result;
1091
+ }
1092
+ var _arrayMap = arrayMap$3;
1093
+ var Symbol$3 = _Symbol, arrayMap$2 = _arrayMap, isArray$7 = isArray_1, isSymbol$1 = isSymbol_1;
1094
+ var INFINITY$1 = 1 / 0;
1095
+ var symbolProto$1 = Symbol$3 ? Symbol$3.prototype : void 0, symbolToString = symbolProto$1 ? symbolProto$1.toString : void 0;
1096
+ function baseToString$1(value) {
1097
+ if (typeof value == "string") {
1098
+ return value;
1099
+ }
1100
+ if (isArray$7(value)) {
1101
+ return arrayMap$2(value, baseToString$1) + "";
1102
+ }
1103
+ if (isSymbol$1(value)) {
1104
+ return symbolToString ? symbolToString.call(value) : "";
1105
+ }
1106
+ var result = value + "";
1107
+ return result == "0" && 1 / value == -INFINITY$1 ? "-0" : result;
1108
+ }
1109
+ var _baseToString = baseToString$1;
1110
+ var baseToString = _baseToString;
1111
+ function toString$2(value) {
1112
+ return value == null ? "" : baseToString(value);
1113
+ }
1114
+ var toString_1 = toString$2;
1115
+ var isArray$6 = isArray_1, isKey$2 = _isKey, stringToPath = _stringToPath, toString$1 = toString_1;
1116
+ function castPath$4(value, object) {
1117
+ if (isArray$6(value)) {
1118
+ return value;
1119
+ }
1120
+ return isKey$2(value, object) ? [value] : stringToPath(toString$1(value));
1121
+ }
1122
+ var _castPath = castPath$4;
1123
+ var isSymbol = isSymbol_1;
1124
+ var INFINITY = 1 / 0;
1125
+ function toKey$5(value) {
1126
+ if (typeof value == "string" || isSymbol(value)) {
1127
+ return value;
1128
+ }
1129
+ var result = value + "";
1130
+ return result == "0" && 1 / value == -INFINITY ? "-0" : result;
1131
+ }
1132
+ var _toKey = toKey$5;
1133
+ var castPath$3 = _castPath, toKey$4 = _toKey;
1134
+ function baseGet$3(object, path) {
1135
+ path = castPath$3(path, object);
1136
+ var index2 = 0, length = path.length;
1137
+ while (object != null && index2 < length) {
1138
+ object = object[toKey$4(path[index2++])];
1139
+ }
1140
+ return index2 && index2 == length ? object : void 0;
1141
+ }
1142
+ var _baseGet = baseGet$3;
1143
+ var assignValue = _assignValue, castPath$2 = _castPath, isIndex$1 = _isIndex, isObject$1 = isObject_1, toKey$3 = _toKey;
1144
+ function baseSet$1(object, path, value, customizer) {
1145
+ if (!isObject$1(object)) {
1146
+ return object;
1147
+ }
1148
+ path = castPath$2(path, object);
1149
+ var index2 = -1, length = path.length, lastIndex = length - 1, nested = object;
1150
+ while (nested != null && ++index2 < length) {
1151
+ var key = toKey$3(path[index2]), newValue = value;
1152
+ if (key === "__proto__" || key === "constructor" || key === "prototype") {
1153
+ return object;
1154
+ }
1155
+ if (index2 != lastIndex) {
1156
+ var objValue = nested[key];
1157
+ newValue = customizer ? customizer(objValue, key, nested) : void 0;
1158
+ if (newValue === void 0) {
1159
+ newValue = isObject$1(objValue) ? objValue : isIndex$1(path[index2 + 1]) ? [] : {};
1160
+ }
1161
+ }
1162
+ assignValue(nested, key, newValue);
1163
+ nested = nested[key];
1164
+ }
1165
+ return object;
1166
+ }
1167
+ var _baseSet = baseSet$1;
1168
+ var baseGet$2 = _baseGet, baseSet = _baseSet, castPath$1 = _castPath;
1169
+ function basePickBy$1(object, paths, predicate) {
1170
+ var index2 = -1, length = paths.length, result = {};
1171
+ while (++index2 < length) {
1172
+ var path = paths[index2], value = baseGet$2(object, path);
1173
+ if (predicate(value, path)) {
1174
+ baseSet(result, castPath$1(path, object), value);
1175
+ }
1176
+ }
1177
+ return result;
1178
+ }
1179
+ var _basePickBy = basePickBy$1;
1180
+ function baseHasIn$1(object, key) {
1181
+ return object != null && key in Object(object);
1182
+ }
1183
+ var _baseHasIn = baseHasIn$1;
1184
+ var castPath = _castPath, isArguments$2 = isArguments_1, isArray$5 = isArray_1, isIndex = _isIndex, isLength = isLength_1, toKey$2 = _toKey;
1185
+ function hasPath$1(object, path, hasFunc) {
1186
+ path = castPath(path, object);
1187
+ var index2 = -1, length = path.length, result = false;
1188
+ while (++index2 < length) {
1189
+ var key = toKey$2(path[index2]);
1190
+ if (!(result = object != null && hasFunc(object, key))) {
1191
+ break;
1192
+ }
1193
+ object = object[key];
1194
+ }
1195
+ if (result || ++index2 != length) {
1196
+ return result;
1197
+ }
1198
+ length = object == null ? 0 : object.length;
1199
+ return !!length && isLength(length) && isIndex(key, length) && (isArray$5(object) || isArguments$2(object));
1200
+ }
1201
+ var _hasPath = hasPath$1;
1202
+ var baseHasIn = _baseHasIn, hasPath = _hasPath;
1203
+ function hasIn$2(object, path) {
1204
+ return object != null && hasPath(object, path, baseHasIn);
1205
+ }
1206
+ var hasIn_1 = hasIn$2;
1207
+ var basePickBy = _basePickBy, hasIn$1 = hasIn_1;
1208
+ function basePick$1(object, paths) {
1209
+ return basePickBy(object, paths, function(value, path) {
1210
+ return hasIn$1(object, path);
1211
+ });
1212
+ }
1213
+ var _basePick = basePick$1;
1214
+ var Symbol$2 = _Symbol, isArguments$1 = isArguments_1, isArray$4 = isArray_1;
1215
+ var spreadableSymbol = Symbol$2 ? Symbol$2.isConcatSpreadable : void 0;
1216
+ function isFlattenable$1(value) {
1217
+ return isArray$4(value) || isArguments$1(value) || !!(spreadableSymbol && value && value[spreadableSymbol]);
1218
+ }
1219
+ var _isFlattenable = isFlattenable$1;
1220
+ var arrayPush = _arrayPush, isFlattenable = _isFlattenable;
1221
+ function baseFlatten$1(array, depth, predicate, isStrict, result) {
1222
+ var index2 = -1, length = array.length;
1223
+ predicate || (predicate = isFlattenable);
1224
+ result || (result = []);
1225
+ while (++index2 < length) {
1226
+ var value = array[index2];
1227
+ if (depth > 0 && predicate(value)) {
1228
+ if (depth > 1) {
1229
+ baseFlatten$1(value, depth - 1, predicate, isStrict, result);
1230
+ } else {
1231
+ arrayPush(result, value);
1232
+ }
1233
+ } else if (!isStrict) {
1234
+ result[result.length] = value;
1235
+ }
1236
+ }
1237
+ return result;
1238
+ }
1239
+ var _baseFlatten = baseFlatten$1;
1240
+ var baseFlatten = _baseFlatten;
1241
+ function flatten$1(array) {
1242
+ var length = array == null ? 0 : array.length;
1243
+ return length ? baseFlatten(array, 1) : [];
1244
+ }
1245
+ var flatten_1 = flatten$1;
1246
+ function apply$1(func, thisArg, args) {
1247
+ switch (args.length) {
1248
+ case 0:
1249
+ return func.call(thisArg);
1250
+ case 1:
1251
+ return func.call(thisArg, args[0]);
1252
+ case 2:
1253
+ return func.call(thisArg, args[0], args[1]);
1254
+ case 3:
1255
+ return func.call(thisArg, args[0], args[1], args[2]);
1256
+ }
1257
+ return func.apply(thisArg, args);
1258
+ }
1259
+ var _apply = apply$1;
1260
+ var apply = _apply;
1261
+ var nativeMax = Math.max;
1262
+ function overRest$2(func, start, transform) {
1263
+ start = nativeMax(start === void 0 ? func.length - 1 : start, 0);
1264
+ return function() {
1265
+ var args = arguments, index2 = -1, length = nativeMax(args.length - start, 0), array = Array(length);
1266
+ while (++index2 < length) {
1267
+ array[index2] = args[start + index2];
1268
+ }
1269
+ index2 = -1;
1270
+ var otherArgs = Array(start + 1);
1271
+ while (++index2 < start) {
1272
+ otherArgs[index2] = args[index2];
1273
+ }
1274
+ otherArgs[start] = transform(array);
1275
+ return apply(func, this, otherArgs);
1276
+ };
1277
+ }
1278
+ var _overRest = overRest$2;
1279
+ function constant$1(value) {
1280
+ return function() {
1281
+ return value;
1282
+ };
1283
+ }
1284
+ var constant_1 = constant$1;
1285
+ function identity$3(value) {
1286
+ return value;
1287
+ }
1288
+ var identity_1 = identity$3;
1289
+ var constant = constant_1, defineProperty = _defineProperty$1, identity$2 = identity_1;
1290
+ var baseSetToString$1 = !defineProperty ? identity$2 : function(func, string) {
1291
+ return defineProperty(func, "toString", {
1292
+ "configurable": true,
1293
+ "enumerable": false,
1294
+ "value": constant(string),
1295
+ "writable": true
1296
+ });
1297
+ };
1298
+ var _baseSetToString = baseSetToString$1;
1299
+ var HOT_COUNT = 800, HOT_SPAN = 16;
1300
+ var nativeNow = Date.now;
1301
+ function shortOut$1(func) {
1302
+ var count = 0, lastCalled = 0;
1303
+ return function() {
1304
+ var stamp = nativeNow(), remaining = HOT_SPAN - (stamp - lastCalled);
1305
+ lastCalled = stamp;
1306
+ if (remaining > 0) {
1307
+ if (++count >= HOT_COUNT) {
1308
+ return arguments[0];
1309
+ }
1310
+ } else {
1311
+ count = 0;
1312
+ }
1313
+ return func.apply(void 0, arguments);
1314
+ };
1315
+ }
1316
+ var _shortOut = shortOut$1;
1317
+ var baseSetToString = _baseSetToString, shortOut = _shortOut;
1318
+ var setToString$2 = shortOut(baseSetToString);
1319
+ var _setToString = setToString$2;
1320
+ var flatten = flatten_1, overRest$1 = _overRest, setToString$1 = _setToString;
1321
+ function flatRest$1(func) {
1322
+ return setToString$1(overRest$1(func, void 0, flatten), func + "");
1323
+ }
1324
+ var _flatRest = flatRest$1;
1325
+ var basePick = _basePick, flatRest = _flatRest;
1326
+ var pick = flatRest(function(object, paths) {
1327
+ return object == null ? {} : basePick(object, paths);
1328
+ });
1329
+ var pick_1 = pick;
1330
+ const pick$1 = /* @__PURE__ */ getDefaultExportFromCjs(pick_1);
1331
+ var identity$1 = identity_1, overRest = _overRest, setToString = _setToString;
1332
+ function baseRest$1(func, start) {
1333
+ return setToString(overRest(func, start, identity$1), func + "");
1334
+ }
1335
+ var _baseRest = baseRest$1;
1336
+ function baseFindIndex$1(array, predicate, fromIndex, fromRight) {
1337
+ var length = array.length, index2 = fromIndex + (fromRight ? 1 : -1);
1338
+ while (fromRight ? index2-- : ++index2 < length) {
1339
+ if (predicate(array[index2], index2, array)) {
1340
+ return index2;
1341
+ }
1342
+ }
1343
+ return -1;
1344
+ }
1345
+ var _baseFindIndex = baseFindIndex$1;
1346
+ function baseIsNaN$1(value) {
1347
+ return value !== value;
1348
+ }
1349
+ var _baseIsNaN = baseIsNaN$1;
1350
+ function strictIndexOf$1(array, value, fromIndex) {
1351
+ var index2 = fromIndex - 1, length = array.length;
1352
+ while (++index2 < length) {
1353
+ if (array[index2] === value) {
1354
+ return index2;
1355
+ }
1356
+ }
1357
+ return -1;
1358
+ }
1359
+ var _strictIndexOf = strictIndexOf$1;
1360
+ var baseFindIndex = _baseFindIndex, baseIsNaN = _baseIsNaN, strictIndexOf = _strictIndexOf;
1361
+ function baseIndexOf$1(array, value, fromIndex) {
1362
+ return value === value ? strictIndexOf(array, value, fromIndex) : baseFindIndex(array, baseIsNaN, fromIndex);
1363
+ }
1364
+ var _baseIndexOf = baseIndexOf$1;
1365
+ function baseIndexOfWith$1(array, value, fromIndex, comparator) {
1366
+ var index2 = fromIndex - 1, length = array.length;
1367
+ while (++index2 < length) {
1368
+ if (comparator(array[index2], value)) {
1369
+ return index2;
1370
+ }
1371
+ }
1372
+ return -1;
1373
+ }
1374
+ var _baseIndexOfWith = baseIndexOfWith$1;
1375
+ var arrayMap$1 = _arrayMap, baseIndexOf = _baseIndexOf, baseIndexOfWith = _baseIndexOfWith, baseUnary = _baseUnary, copyArray = _copyArray;
1376
+ var arrayProto = Array.prototype;
1377
+ var splice = arrayProto.splice;
1378
+ function basePullAll$1(array, values, iteratee, comparator) {
1379
+ var indexOf = comparator ? baseIndexOfWith : baseIndexOf, index2 = -1, length = values.length, seen = array;
1380
+ if (array === values) {
1381
+ values = copyArray(values);
1382
+ }
1383
+ if (iteratee) {
1384
+ seen = arrayMap$1(array, baseUnary(iteratee));
1385
+ }
1386
+ while (++index2 < length) {
1387
+ var fromIndex = 0, value = values[index2], computed = iteratee ? iteratee(value) : value;
1388
+ while ((fromIndex = indexOf(seen, computed, fromIndex, comparator)) > -1) {
1389
+ if (seen !== array) {
1390
+ splice.call(seen, fromIndex, 1);
1391
+ }
1392
+ splice.call(array, fromIndex, 1);
1393
+ }
1394
+ }
1395
+ return array;
1396
+ }
1397
+ var _basePullAll = basePullAll$1;
1398
+ var basePullAll = _basePullAll;
1399
+ function pullAll$1(array, values) {
1400
+ return array && array.length && values && values.length ? basePullAll(array, values) : array;
1401
+ }
1402
+ var pullAll_1 = pullAll$1;
1403
+ var baseRest = _baseRest, pullAll = pullAll_1;
1404
+ var pull = baseRest(pullAll);
1405
+ var pull_1 = pull;
1406
+ const pull$1 = /* @__PURE__ */ getDefaultExportFromCjs(pull_1);
1407
+ /**!
1408
+ * Sortable 1.15.3
1409
+ * @author RubaXa <trash@rubaxa.org>
1410
+ * @author owenm <owen23355@gmail.com>
1411
+ * @license MIT
1412
+ */
1413
+ function ownKeys(object, enumerableOnly) {
1414
+ var keys2 = Object.keys(object);
1415
+ if (Object.getOwnPropertySymbols) {
1416
+ var symbols = Object.getOwnPropertySymbols(object);
1417
+ if (enumerableOnly) {
1418
+ symbols = symbols.filter(function(sym) {
1419
+ return Object.getOwnPropertyDescriptor(object, sym).enumerable;
1420
+ });
1421
+ }
1422
+ keys2.push.apply(keys2, symbols);
1423
+ }
1424
+ return keys2;
1425
+ }
1426
+ function _objectSpread2(target) {
1427
+ for (var i = 1; i < arguments.length; i++) {
1428
+ var source = arguments[i] != null ? arguments[i] : {};
1429
+ if (i % 2) {
1430
+ ownKeys(Object(source), true).forEach(function(key) {
1431
+ _defineProperty(target, key, source[key]);
1432
+ });
1433
+ } else if (Object.getOwnPropertyDescriptors) {
1434
+ Object.defineProperties(target, Object.getOwnPropertyDescriptors(source));
1435
+ } else {
1436
+ ownKeys(Object(source)).forEach(function(key) {
1437
+ Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key));
1438
+ });
1439
+ }
1440
+ }
1441
+ return target;
1442
+ }
1443
+ function _typeof(obj) {
1444
+ "@babel/helpers - typeof";
1445
+ if (typeof Symbol === "function" && typeof Symbol.iterator === "symbol") {
1446
+ _typeof = function(obj2) {
1447
+ return typeof obj2;
1448
+ };
1449
+ } else {
1450
+ _typeof = function(obj2) {
1451
+ return obj2 && typeof Symbol === "function" && obj2.constructor === Symbol && obj2 !== Symbol.prototype ? "symbol" : typeof obj2;
1452
+ };
1453
+ }
1454
+ return _typeof(obj);
1455
+ }
1456
+ function _defineProperty(obj, key, value) {
1457
+ if (key in obj) {
1458
+ Object.defineProperty(obj, key, {
1459
+ value,
1460
+ enumerable: true,
1461
+ configurable: true,
1462
+ writable: true
1463
+ });
1464
+ } else {
1465
+ obj[key] = value;
1466
+ }
1467
+ return obj;
1468
+ }
1469
+ function _extends() {
1470
+ _extends = Object.assign || function(target) {
1471
+ for (var i = 1; i < arguments.length; i++) {
1472
+ var source = arguments[i];
1473
+ for (var key in source) {
1474
+ if (Object.prototype.hasOwnProperty.call(source, key)) {
1475
+ target[key] = source[key];
1476
+ }
1477
+ }
1478
+ }
1479
+ return target;
1480
+ };
1481
+ return _extends.apply(this, arguments);
1482
+ }
1483
+ function _objectWithoutPropertiesLoose(source, excluded) {
1484
+ if (source == null)
1485
+ return {};
1486
+ var target = {};
1487
+ var sourceKeys = Object.keys(source);
1488
+ var key, i;
1489
+ for (i = 0; i < sourceKeys.length; i++) {
1490
+ key = sourceKeys[i];
1491
+ if (excluded.indexOf(key) >= 0)
1492
+ continue;
1493
+ target[key] = source[key];
1494
+ }
1495
+ return target;
1496
+ }
1497
+ function _objectWithoutProperties(source, excluded) {
1498
+ if (source == null)
1499
+ return {};
1500
+ var target = _objectWithoutPropertiesLoose(source, excluded);
1501
+ var key, i;
1502
+ if (Object.getOwnPropertySymbols) {
1503
+ var sourceSymbolKeys = Object.getOwnPropertySymbols(source);
1504
+ for (i = 0; i < sourceSymbolKeys.length; i++) {
1505
+ key = sourceSymbolKeys[i];
1506
+ if (excluded.indexOf(key) >= 0)
1507
+ continue;
1508
+ if (!Object.prototype.propertyIsEnumerable.call(source, key))
1509
+ continue;
1510
+ target[key] = source[key];
1511
+ }
1512
+ }
1513
+ return target;
1514
+ }
1515
+ var version = "1.15.3";
1516
+ function userAgent(pattern) {
1517
+ if (typeof window !== "undefined" && window.navigator) {
1518
+ return !!/* @__PURE__ */ navigator.userAgent.match(pattern);
1519
+ }
1520
+ }
1521
+ var IE11OrLess = userAgent(/(?:Trident.*rv[ :]?11\.|msie|iemobile|Windows Phone)/i);
1522
+ var Edge = userAgent(/Edge/i);
1523
+ var FireFox = userAgent(/firefox/i);
1524
+ var Safari = userAgent(/safari/i) && !userAgent(/chrome/i) && !userAgent(/android/i);
1525
+ var IOS = userAgent(/iP(ad|od|hone)/i);
1526
+ var ChromeForAndroid = userAgent(/chrome/i) && userAgent(/android/i);
1527
+ var captureMode = {
1528
+ capture: false,
1529
+ passive: false
1530
+ };
1531
+ function on(el, event, fn) {
1532
+ el.addEventListener(event, fn, !IE11OrLess && captureMode);
1533
+ }
1534
+ function off(el, event, fn) {
1535
+ el.removeEventListener(event, fn, !IE11OrLess && captureMode);
1536
+ }
1537
+ function matches(el, selector) {
1538
+ if (!selector)
1539
+ return;
1540
+ selector[0] === ">" && (selector = selector.substring(1));
1541
+ if (el) {
1542
+ try {
1543
+ if (el.matches) {
1544
+ return el.matches(selector);
1545
+ } else if (el.msMatchesSelector) {
1546
+ return el.msMatchesSelector(selector);
1547
+ } else if (el.webkitMatchesSelector) {
1548
+ return el.webkitMatchesSelector(selector);
1549
+ }
1550
+ } catch (_) {
1551
+ return false;
1552
+ }
1553
+ }
1554
+ return false;
1555
+ }
1556
+ function getParentOrHost(el) {
1557
+ return el.host && el !== document && el.host.nodeType ? el.host : el.parentNode;
1558
+ }
1559
+ function closest(el, selector, ctx, includeCTX) {
1560
+ if (el) {
1561
+ ctx = ctx || document;
1562
+ do {
1563
+ if (selector != null && (selector[0] === ">" ? el.parentNode === ctx && matches(el, selector) : matches(el, selector)) || includeCTX && el === ctx) {
1564
+ return el;
1565
+ }
1566
+ if (el === ctx)
1567
+ break;
1568
+ } while (el = getParentOrHost(el));
1569
+ }
1570
+ return null;
1571
+ }
1572
+ var R_SPACE = /\s+/g;
1573
+ function toggleClass(el, name2, state) {
1574
+ if (el && name2) {
1575
+ if (el.classList) {
1576
+ el.classList[state ? "add" : "remove"](name2);
1577
+ } else {
1578
+ var className = (" " + el.className + " ").replace(R_SPACE, " ").replace(" " + name2 + " ", " ");
1579
+ el.className = (className + (state ? " " + name2 : "")).replace(R_SPACE, " ");
1580
+ }
1581
+ }
1582
+ }
1583
+ function css(el, prop, val) {
1584
+ var style = el && el.style;
1585
+ if (style) {
1586
+ if (val === void 0) {
1587
+ if (document.defaultView && document.defaultView.getComputedStyle) {
1588
+ val = document.defaultView.getComputedStyle(el, "");
1589
+ } else if (el.currentStyle) {
1590
+ val = el.currentStyle;
1591
+ }
1592
+ return prop === void 0 ? val : val[prop];
1593
+ } else {
1594
+ if (!(prop in style) && prop.indexOf("webkit") === -1) {
1595
+ prop = "-webkit-" + prop;
1596
+ }
1597
+ style[prop] = val + (typeof val === "string" ? "" : "px");
1598
+ }
1599
+ }
1600
+ }
1601
+ function matrix(el, selfOnly) {
1602
+ var appliedTransforms = "";
1603
+ if (typeof el === "string") {
1604
+ appliedTransforms = el;
1605
+ } else {
1606
+ do {
1607
+ var transform = css(el, "transform");
1608
+ if (transform && transform !== "none") {
1609
+ appliedTransforms = transform + " " + appliedTransforms;
1610
+ }
1611
+ } while (!selfOnly && (el = el.parentNode));
1612
+ }
1613
+ var matrixFn = window.DOMMatrix || window.WebKitCSSMatrix || window.CSSMatrix || window.MSCSSMatrix;
1614
+ return matrixFn && new matrixFn(appliedTransforms);
1615
+ }
1616
+ function find(ctx, tagName, iterator) {
1617
+ if (ctx) {
1618
+ var list = ctx.getElementsByTagName(tagName), i = 0, n = list.length;
1619
+ if (iterator) {
1620
+ for (; i < n; i++) {
1621
+ iterator(list[i], i);
1622
+ }
1623
+ }
1624
+ return list;
1625
+ }
1626
+ return [];
1627
+ }
1628
+ function getWindowScrollingElement() {
1629
+ var scrollingElement = document.scrollingElement;
1630
+ if (scrollingElement) {
1631
+ return scrollingElement;
1632
+ } else {
1633
+ return document.documentElement;
1634
+ }
1635
+ }
1636
+ function getRect(el, relativeToContainingBlock, relativeToNonStaticParent, undoScale, container) {
1637
+ if (!el.getBoundingClientRect && el !== window)
1638
+ return;
1639
+ var elRect, top, left, bottom, right, height, width;
1640
+ if (el !== window && el.parentNode && el !== getWindowScrollingElement()) {
1641
+ elRect = el.getBoundingClientRect();
1642
+ top = elRect.top;
1643
+ left = elRect.left;
1644
+ bottom = elRect.bottom;
1645
+ right = elRect.right;
1646
+ height = elRect.height;
1647
+ width = elRect.width;
1648
+ } else {
1649
+ top = 0;
1650
+ left = 0;
1651
+ bottom = window.innerHeight;
1652
+ right = window.innerWidth;
1653
+ height = window.innerHeight;
1654
+ width = window.innerWidth;
1655
+ }
1656
+ if ((relativeToContainingBlock || relativeToNonStaticParent) && el !== window) {
1657
+ container = container || el.parentNode;
1658
+ if (!IE11OrLess) {
1659
+ do {
1660
+ if (container && container.getBoundingClientRect && (css(container, "transform") !== "none" || relativeToNonStaticParent && css(container, "position") !== "static")) {
1661
+ var containerRect = container.getBoundingClientRect();
1662
+ top -= containerRect.top + parseInt(css(container, "border-top-width"));
1663
+ left -= containerRect.left + parseInt(css(container, "border-left-width"));
1664
+ bottom = top + elRect.height;
1665
+ right = left + elRect.width;
1666
+ break;
1667
+ }
1668
+ } while (container = container.parentNode);
1669
+ }
1670
+ }
1671
+ if (undoScale && el !== window) {
1672
+ var elMatrix = matrix(container || el), scaleX = elMatrix && elMatrix.a, scaleY = elMatrix && elMatrix.d;
1673
+ if (elMatrix) {
1674
+ top /= scaleY;
1675
+ left /= scaleX;
1676
+ width /= scaleX;
1677
+ height /= scaleY;
1678
+ bottom = top + height;
1679
+ right = left + width;
1680
+ }
1681
+ }
1682
+ return {
1683
+ top,
1684
+ left,
1685
+ bottom,
1686
+ right,
1687
+ width,
1688
+ height
1689
+ };
1690
+ }
1691
+ function isScrolledPast(el, elSide, parentSide) {
1692
+ var parent = getParentAutoScrollElement(el, true), elSideVal = getRect(el)[elSide];
1693
+ while (parent) {
1694
+ var parentSideVal = getRect(parent)[parentSide], visible = void 0;
1695
+ if (parentSide === "top" || parentSide === "left") {
1696
+ visible = elSideVal >= parentSideVal;
1697
+ } else {
1698
+ visible = elSideVal <= parentSideVal;
1699
+ }
1700
+ if (!visible)
1701
+ return parent;
1702
+ if (parent === getWindowScrollingElement())
1703
+ break;
1704
+ parent = getParentAutoScrollElement(parent, false);
1705
+ }
1706
+ return false;
1707
+ }
1708
+ function getChild(el, childNum, options, includeDragEl) {
1709
+ var currentChild = 0, i = 0, children = el.children;
1710
+ while (i < children.length) {
1711
+ if (children[i].style.display !== "none" && children[i] !== Sortable.ghost && (includeDragEl || children[i] !== Sortable.dragged) && closest(children[i], options.draggable, el, false)) {
1712
+ if (currentChild === childNum) {
1713
+ return children[i];
1714
+ }
1715
+ currentChild++;
1716
+ }
1717
+ i++;
1718
+ }
1719
+ return null;
1720
+ }
1721
+ function lastChild(el, selector) {
1722
+ var last = el.lastElementChild;
1723
+ while (last && (last === Sortable.ghost || css(last, "display") === "none" || selector && !matches(last, selector))) {
1724
+ last = last.previousElementSibling;
1725
+ }
1726
+ return last || null;
1727
+ }
1728
+ function index(el, selector) {
1729
+ var index2 = 0;
1730
+ if (!el || !el.parentNode) {
1731
+ return -1;
1732
+ }
1733
+ while (el = el.previousElementSibling) {
1734
+ if (el.nodeName.toUpperCase() !== "TEMPLATE" && el !== Sortable.clone && (!selector || matches(el, selector))) {
1735
+ index2++;
1736
+ }
1737
+ }
1738
+ return index2;
1739
+ }
1740
+ function getRelativeScrollOffset(el) {
1741
+ var offsetLeft = 0, offsetTop = 0, winScroller = getWindowScrollingElement();
1742
+ if (el) {
1743
+ do {
1744
+ var elMatrix = matrix(el), scaleX = elMatrix.a, scaleY = elMatrix.d;
1745
+ offsetLeft += el.scrollLeft * scaleX;
1746
+ offsetTop += el.scrollTop * scaleY;
1747
+ } while (el !== winScroller && (el = el.parentNode));
1748
+ }
1749
+ return [offsetLeft, offsetTop];
1750
+ }
1751
+ function indexOfObject(arr, obj) {
1752
+ for (var i in arr) {
1753
+ if (!arr.hasOwnProperty(i))
1754
+ continue;
1755
+ for (var key in obj) {
1756
+ if (obj.hasOwnProperty(key) && obj[key] === arr[i][key])
1757
+ return Number(i);
1758
+ }
1759
+ }
1760
+ return -1;
1761
+ }
1762
+ function getParentAutoScrollElement(el, includeSelf) {
1763
+ if (!el || !el.getBoundingClientRect)
1764
+ return getWindowScrollingElement();
1765
+ var elem = el;
1766
+ var gotSelf = false;
1767
+ do {
1768
+ if (elem.clientWidth < elem.scrollWidth || elem.clientHeight < elem.scrollHeight) {
1769
+ var elemCSS = css(elem);
1770
+ if (elem.clientWidth < elem.scrollWidth && (elemCSS.overflowX == "auto" || elemCSS.overflowX == "scroll") || elem.clientHeight < elem.scrollHeight && (elemCSS.overflowY == "auto" || elemCSS.overflowY == "scroll")) {
1771
+ if (!elem.getBoundingClientRect || elem === document.body)
1772
+ return getWindowScrollingElement();
1773
+ if (gotSelf || includeSelf)
1774
+ return elem;
1775
+ gotSelf = true;
1776
+ }
1777
+ }
1778
+ } while (elem = elem.parentNode);
1779
+ return getWindowScrollingElement();
1780
+ }
1781
+ function extend(dst, src) {
1782
+ if (dst && src) {
1783
+ for (var key in src) {
1784
+ if (src.hasOwnProperty(key)) {
1785
+ dst[key] = src[key];
1786
+ }
1787
+ }
1788
+ }
1789
+ return dst;
1790
+ }
1791
+ function isRectEqual(rect1, rect2) {
1792
+ return Math.round(rect1.top) === Math.round(rect2.top) && Math.round(rect1.left) === Math.round(rect2.left) && Math.round(rect1.height) === Math.round(rect2.height) && Math.round(rect1.width) === Math.round(rect2.width);
1793
+ }
1794
+ var _throttleTimeout;
1795
+ function throttle(callback, ms) {
1796
+ return function() {
1797
+ if (!_throttleTimeout) {
1798
+ var args = arguments, _this = this;
1799
+ if (args.length === 1) {
1800
+ callback.call(_this, args[0]);
1801
+ } else {
1802
+ callback.apply(_this, args);
1803
+ }
1804
+ _throttleTimeout = setTimeout(function() {
1805
+ _throttleTimeout = void 0;
1806
+ }, ms);
1807
+ }
1808
+ };
1809
+ }
1810
+ function cancelThrottle() {
1811
+ clearTimeout(_throttleTimeout);
1812
+ _throttleTimeout = void 0;
1813
+ }
1814
+ function scrollBy(el, x, y) {
1815
+ el.scrollLeft += x;
1816
+ el.scrollTop += y;
1817
+ }
1818
+ function clone(el) {
1819
+ var Polymer = window.Polymer;
1820
+ var $ = window.jQuery || window.Zepto;
1821
+ if (Polymer && Polymer.dom) {
1822
+ return Polymer.dom(el).cloneNode(true);
1823
+ } else if ($) {
1824
+ return $(el).clone(true)[0];
1825
+ } else {
1826
+ return el.cloneNode(true);
1827
+ }
1828
+ }
1829
+ function getChildContainingRectFromElement(container, options, ghostEl2) {
1830
+ var rect = {};
1831
+ Array.from(container.children).forEach(function(child) {
1832
+ var _rect$left, _rect$top, _rect$right, _rect$bottom;
1833
+ if (!closest(child, options.draggable, container, false) || child.animated || child === ghostEl2)
1834
+ return;
1835
+ var childRect = getRect(child);
1836
+ rect.left = Math.min((_rect$left = rect.left) !== null && _rect$left !== void 0 ? _rect$left : Infinity, childRect.left);
1837
+ rect.top = Math.min((_rect$top = rect.top) !== null && _rect$top !== void 0 ? _rect$top : Infinity, childRect.top);
1838
+ rect.right = Math.max((_rect$right = rect.right) !== null && _rect$right !== void 0 ? _rect$right : -Infinity, childRect.right);
1839
+ rect.bottom = Math.max((_rect$bottom = rect.bottom) !== null && _rect$bottom !== void 0 ? _rect$bottom : -Infinity, childRect.bottom);
1840
+ });
1841
+ rect.width = rect.right - rect.left;
1842
+ rect.height = rect.bottom - rect.top;
1843
+ rect.x = rect.left;
1844
+ rect.y = rect.top;
1845
+ return rect;
1846
+ }
1847
+ var expando = "Sortable" + (/* @__PURE__ */ new Date()).getTime();
1848
+ function AnimationStateManager() {
1849
+ var animationStates = [], animationCallbackId;
1850
+ return {
1851
+ captureAnimationState: function captureAnimationState() {
1852
+ animationStates = [];
1853
+ if (!this.options.animation)
1854
+ return;
1855
+ var children = [].slice.call(this.el.children);
1856
+ children.forEach(function(child) {
1857
+ if (css(child, "display") === "none" || child === Sortable.ghost)
1858
+ return;
1859
+ animationStates.push({
1860
+ target: child,
1861
+ rect: getRect(child)
1862
+ });
1863
+ var fromRect = _objectSpread2({}, animationStates[animationStates.length - 1].rect);
1864
+ if (child.thisAnimationDuration) {
1865
+ var childMatrix = matrix(child, true);
1866
+ if (childMatrix) {
1867
+ fromRect.top -= childMatrix.f;
1868
+ fromRect.left -= childMatrix.e;
1869
+ }
1870
+ }
1871
+ child.fromRect = fromRect;
1872
+ });
1873
+ },
1874
+ addAnimationState: function addAnimationState(state) {
1875
+ animationStates.push(state);
1876
+ },
1877
+ removeAnimationState: function removeAnimationState(target) {
1878
+ animationStates.splice(indexOfObject(animationStates, {
1879
+ target
1880
+ }), 1);
1881
+ },
1882
+ animateAll: function animateAll(callback) {
1883
+ var _this = this;
1884
+ if (!this.options.animation) {
1885
+ clearTimeout(animationCallbackId);
1886
+ if (typeof callback === "function")
1887
+ callback();
1888
+ return;
1889
+ }
1890
+ var animating = false, animationTime = 0;
1891
+ animationStates.forEach(function(state) {
1892
+ var time = 0, target = state.target, fromRect = target.fromRect, toRect = getRect(target), prevFromRect = target.prevFromRect, prevToRect = target.prevToRect, animatingRect = state.rect, targetMatrix = matrix(target, true);
1893
+ if (targetMatrix) {
1894
+ toRect.top -= targetMatrix.f;
1895
+ toRect.left -= targetMatrix.e;
1896
+ }
1897
+ target.toRect = toRect;
1898
+ if (target.thisAnimationDuration) {
1899
+ if (isRectEqual(prevFromRect, toRect) && !isRectEqual(fromRect, toRect) && // Make sure animatingRect is on line between toRect & fromRect
1900
+ (animatingRect.top - toRect.top) / (animatingRect.left - toRect.left) === (fromRect.top - toRect.top) / (fromRect.left - toRect.left)) {
1901
+ time = calculateRealTime(animatingRect, prevFromRect, prevToRect, _this.options);
1902
+ }
1903
+ }
1904
+ if (!isRectEqual(toRect, fromRect)) {
1905
+ target.prevFromRect = fromRect;
1906
+ target.prevToRect = toRect;
1907
+ if (!time) {
1908
+ time = _this.options.animation;
1909
+ }
1910
+ _this.animate(target, animatingRect, toRect, time);
1911
+ }
1912
+ if (time) {
1913
+ animating = true;
1914
+ animationTime = Math.max(animationTime, time);
1915
+ clearTimeout(target.animationResetTimer);
1916
+ target.animationResetTimer = setTimeout(function() {
1917
+ target.animationTime = 0;
1918
+ target.prevFromRect = null;
1919
+ target.fromRect = null;
1920
+ target.prevToRect = null;
1921
+ target.thisAnimationDuration = null;
1922
+ }, time);
1923
+ target.thisAnimationDuration = time;
1924
+ }
1925
+ });
1926
+ clearTimeout(animationCallbackId);
1927
+ if (!animating) {
1928
+ if (typeof callback === "function")
1929
+ callback();
1930
+ } else {
1931
+ animationCallbackId = setTimeout(function() {
1932
+ if (typeof callback === "function")
1933
+ callback();
1934
+ }, animationTime);
1935
+ }
1936
+ animationStates = [];
1937
+ },
1938
+ animate: function animate(target, currentRect, toRect, duration) {
1939
+ if (duration) {
1940
+ css(target, "transition", "");
1941
+ css(target, "transform", "");
1942
+ var elMatrix = matrix(this.el), scaleX = elMatrix && elMatrix.a, scaleY = elMatrix && elMatrix.d, translateX = (currentRect.left - toRect.left) / (scaleX || 1), translateY = (currentRect.top - toRect.top) / (scaleY || 1);
1943
+ target.animatingX = !!translateX;
1944
+ target.animatingY = !!translateY;
1945
+ css(target, "transform", "translate3d(" + translateX + "px," + translateY + "px,0)");
1946
+ this.forRepaintDummy = repaint(target);
1947
+ css(target, "transition", "transform " + duration + "ms" + (this.options.easing ? " " + this.options.easing : ""));
1948
+ css(target, "transform", "translate3d(0,0,0)");
1949
+ typeof target.animated === "number" && clearTimeout(target.animated);
1950
+ target.animated = setTimeout(function() {
1951
+ css(target, "transition", "");
1952
+ css(target, "transform", "");
1953
+ target.animated = false;
1954
+ target.animatingX = false;
1955
+ target.animatingY = false;
1956
+ }, duration);
1957
+ }
1958
+ }
1959
+ };
1960
+ }
1961
+ function repaint(target) {
1962
+ return target.offsetWidth;
1963
+ }
1964
+ function calculateRealTime(animatingRect, fromRect, toRect, options) {
1965
+ return Math.sqrt(Math.pow(fromRect.top - animatingRect.top, 2) + Math.pow(fromRect.left - animatingRect.left, 2)) / Math.sqrt(Math.pow(fromRect.top - toRect.top, 2) + Math.pow(fromRect.left - toRect.left, 2)) * options.animation;
1966
+ }
1967
+ var plugins = [];
1968
+ var defaults = {
1969
+ initializeByDefault: true
1970
+ };
1971
+ var PluginManager = {
1972
+ mount: function mount(plugin) {
1973
+ for (var option2 in defaults) {
1974
+ if (defaults.hasOwnProperty(option2) && !(option2 in plugin)) {
1975
+ plugin[option2] = defaults[option2];
1976
+ }
1977
+ }
1978
+ plugins.forEach(function(p) {
1979
+ if (p.pluginName === plugin.pluginName) {
1980
+ throw "Sortable: Cannot mount plugin ".concat(plugin.pluginName, " more than once");
1981
+ }
1982
+ });
1983
+ plugins.push(plugin);
1984
+ },
1985
+ pluginEvent: function pluginEvent(eventName, sortable, evt) {
1986
+ var _this = this;
1987
+ this.eventCanceled = false;
1988
+ evt.cancel = function() {
1989
+ _this.eventCanceled = true;
1990
+ };
1991
+ var eventNameGlobal = eventName + "Global";
1992
+ plugins.forEach(function(plugin) {
1993
+ if (!sortable[plugin.pluginName])
1994
+ return;
1995
+ if (sortable[plugin.pluginName][eventNameGlobal]) {
1996
+ sortable[plugin.pluginName][eventNameGlobal](_objectSpread2({
1997
+ sortable
1998
+ }, evt));
1999
+ }
2000
+ if (sortable.options[plugin.pluginName] && sortable[plugin.pluginName][eventName]) {
2001
+ sortable[plugin.pluginName][eventName](_objectSpread2({
2002
+ sortable
2003
+ }, evt));
2004
+ }
2005
+ });
2006
+ },
2007
+ initializePlugins: function initializePlugins(sortable, el, defaults2, options) {
2008
+ plugins.forEach(function(plugin) {
2009
+ var pluginName = plugin.pluginName;
2010
+ if (!sortable.options[pluginName] && !plugin.initializeByDefault)
2011
+ return;
2012
+ var initialized = new plugin(sortable, el, sortable.options);
2013
+ initialized.sortable = sortable;
2014
+ initialized.options = sortable.options;
2015
+ sortable[pluginName] = initialized;
2016
+ _extends(defaults2, initialized.defaults);
2017
+ });
2018
+ for (var option2 in sortable.options) {
2019
+ if (!sortable.options.hasOwnProperty(option2))
2020
+ continue;
2021
+ var modified = this.modifyOption(sortable, option2, sortable.options[option2]);
2022
+ if (typeof modified !== "undefined") {
2023
+ sortable.options[option2] = modified;
2024
+ }
2025
+ }
2026
+ },
2027
+ getEventProperties: function getEventProperties(name2, sortable) {
2028
+ var eventProperties = {};
2029
+ plugins.forEach(function(plugin) {
2030
+ if (typeof plugin.eventProperties !== "function")
2031
+ return;
2032
+ _extends(eventProperties, plugin.eventProperties.call(sortable[plugin.pluginName], name2));
2033
+ });
2034
+ return eventProperties;
2035
+ },
2036
+ modifyOption: function modifyOption(sortable, name2, value) {
2037
+ var modifiedValue;
2038
+ plugins.forEach(function(plugin) {
2039
+ if (!sortable[plugin.pluginName])
2040
+ return;
2041
+ if (plugin.optionListeners && typeof plugin.optionListeners[name2] === "function") {
2042
+ modifiedValue = plugin.optionListeners[name2].call(sortable[plugin.pluginName], value);
2043
+ }
2044
+ });
2045
+ return modifiedValue;
2046
+ }
2047
+ };
2048
+ function dispatchEvent(_ref) {
2049
+ var sortable = _ref.sortable, rootEl2 = _ref.rootEl, name2 = _ref.name, targetEl = _ref.targetEl, cloneEl2 = _ref.cloneEl, toEl = _ref.toEl, fromEl = _ref.fromEl, oldIndex2 = _ref.oldIndex, newIndex2 = _ref.newIndex, oldDraggableIndex2 = _ref.oldDraggableIndex, newDraggableIndex2 = _ref.newDraggableIndex, originalEvent = _ref.originalEvent, putSortable2 = _ref.putSortable, extraEventProperties = _ref.extraEventProperties;
2050
+ sortable = sortable || rootEl2 && rootEl2[expando];
2051
+ if (!sortable)
2052
+ return;
2053
+ var evt, options = sortable.options, onName = "on" + name2.charAt(0).toUpperCase() + name2.substr(1);
2054
+ if (window.CustomEvent && !IE11OrLess && !Edge) {
2055
+ evt = new CustomEvent(name2, {
2056
+ bubbles: true,
2057
+ cancelable: true
2058
+ });
2059
+ } else {
2060
+ evt = document.createEvent("Event");
2061
+ evt.initEvent(name2, true, true);
2062
+ }
2063
+ evt.to = toEl || rootEl2;
2064
+ evt.from = fromEl || rootEl2;
2065
+ evt.item = targetEl || rootEl2;
2066
+ evt.clone = cloneEl2;
2067
+ evt.oldIndex = oldIndex2;
2068
+ evt.newIndex = newIndex2;
2069
+ evt.oldDraggableIndex = oldDraggableIndex2;
2070
+ evt.newDraggableIndex = newDraggableIndex2;
2071
+ evt.originalEvent = originalEvent;
2072
+ evt.pullMode = putSortable2 ? putSortable2.lastPutMode : void 0;
2073
+ var allEventProperties = _objectSpread2(_objectSpread2({}, extraEventProperties), PluginManager.getEventProperties(name2, sortable));
2074
+ for (var option2 in allEventProperties) {
2075
+ evt[option2] = allEventProperties[option2];
2076
+ }
2077
+ if (rootEl2) {
2078
+ rootEl2.dispatchEvent(evt);
2079
+ }
2080
+ if (options[onName]) {
2081
+ options[onName].call(sortable, evt);
2082
+ }
2083
+ }
2084
+ var _excluded = ["evt"];
2085
+ var pluginEvent2 = function pluginEvent3(eventName, sortable) {
2086
+ var _ref = arguments.length > 2 && arguments[2] !== void 0 ? arguments[2] : {}, originalEvent = _ref.evt, data = _objectWithoutProperties(_ref, _excluded);
2087
+ PluginManager.pluginEvent.bind(Sortable)(eventName, sortable, _objectSpread2({
2088
+ dragEl,
2089
+ parentEl,
2090
+ ghostEl,
2091
+ rootEl,
2092
+ nextEl,
2093
+ lastDownEl,
2094
+ cloneEl,
2095
+ cloneHidden,
2096
+ dragStarted: moved,
2097
+ putSortable,
2098
+ activeSortable: Sortable.active,
2099
+ originalEvent,
2100
+ oldIndex,
2101
+ oldDraggableIndex,
2102
+ newIndex,
2103
+ newDraggableIndex,
2104
+ hideGhostForTarget: _hideGhostForTarget,
2105
+ unhideGhostForTarget: _unhideGhostForTarget,
2106
+ cloneNowHidden: function cloneNowHidden() {
2107
+ cloneHidden = true;
2108
+ },
2109
+ cloneNowShown: function cloneNowShown() {
2110
+ cloneHidden = false;
2111
+ },
2112
+ dispatchSortableEvent: function dispatchSortableEvent(name2) {
2113
+ _dispatchEvent({
2114
+ sortable,
2115
+ name: name2,
2116
+ originalEvent
2117
+ });
2118
+ }
2119
+ }, data));
2120
+ };
2121
+ function _dispatchEvent(info) {
2122
+ dispatchEvent(_objectSpread2({
2123
+ putSortable,
2124
+ cloneEl,
2125
+ targetEl: dragEl,
2126
+ rootEl,
2127
+ oldIndex,
2128
+ oldDraggableIndex,
2129
+ newIndex,
2130
+ newDraggableIndex
2131
+ }, info));
2132
+ }
2133
+ var dragEl, parentEl, ghostEl, rootEl, nextEl, lastDownEl, cloneEl, cloneHidden, oldIndex, newIndex, oldDraggableIndex, newDraggableIndex, activeGroup, putSortable, awaitingDragStarted = false, ignoreNextClick = false, sortables = [], tapEvt, touchEvt, lastDx, lastDy, tapDistanceLeft, tapDistanceTop, moved, lastTarget, lastDirection, pastFirstInvertThresh = false, isCircumstantialInvert = false, targetMoveDistance, ghostRelativeParent, ghostRelativeParentInitialScroll = [], _silent = false, savedInputChecked = [];
2134
+ var documentExists = typeof document !== "undefined", PositionGhostAbsolutely = IOS, CSSFloatProperty = Edge || IE11OrLess ? "cssFloat" : "float", supportDraggable = documentExists && !ChromeForAndroid && !IOS && "draggable" in document.createElement("div"), supportCssPointerEvents = function() {
2135
+ if (!documentExists)
2136
+ return;
2137
+ if (IE11OrLess) {
2138
+ return false;
2139
+ }
2140
+ var el = document.createElement("x");
2141
+ el.style.cssText = "pointer-events:auto";
2142
+ return el.style.pointerEvents === "auto";
2143
+ }(), _detectDirection = function _detectDirection2(el, options) {
2144
+ var elCSS = css(el), elWidth = parseInt(elCSS.width) - parseInt(elCSS.paddingLeft) - parseInt(elCSS.paddingRight) - parseInt(elCSS.borderLeftWidth) - parseInt(elCSS.borderRightWidth), child1 = getChild(el, 0, options), child2 = getChild(el, 1, options), firstChildCSS = child1 && css(child1), secondChildCSS = child2 && css(child2), firstChildWidth = firstChildCSS && parseInt(firstChildCSS.marginLeft) + parseInt(firstChildCSS.marginRight) + getRect(child1).width, secondChildWidth = secondChildCSS && parseInt(secondChildCSS.marginLeft) + parseInt(secondChildCSS.marginRight) + getRect(child2).width;
2145
+ if (elCSS.display === "flex") {
2146
+ return elCSS.flexDirection === "column" || elCSS.flexDirection === "column-reverse" ? "vertical" : "horizontal";
2147
+ }
2148
+ if (elCSS.display === "grid") {
2149
+ return elCSS.gridTemplateColumns.split(" ").length <= 1 ? "vertical" : "horizontal";
2150
+ }
2151
+ if (child1 && firstChildCSS["float"] && firstChildCSS["float"] !== "none") {
2152
+ var touchingSideChild2 = firstChildCSS["float"] === "left" ? "left" : "right";
2153
+ return child2 && (secondChildCSS.clear === "both" || secondChildCSS.clear === touchingSideChild2) ? "vertical" : "horizontal";
2154
+ }
2155
+ return child1 && (firstChildCSS.display === "block" || firstChildCSS.display === "flex" || firstChildCSS.display === "table" || firstChildCSS.display === "grid" || firstChildWidth >= elWidth && elCSS[CSSFloatProperty] === "none" || child2 && elCSS[CSSFloatProperty] === "none" && firstChildWidth + secondChildWidth > elWidth) ? "vertical" : "horizontal";
2156
+ }, _dragElInRowColumn = function _dragElInRowColumn2(dragRect, targetRect, vertical) {
2157
+ var dragElS1Opp = vertical ? dragRect.left : dragRect.top, dragElS2Opp = vertical ? dragRect.right : dragRect.bottom, dragElOppLength = vertical ? dragRect.width : dragRect.height, targetS1Opp = vertical ? targetRect.left : targetRect.top, targetS2Opp = vertical ? targetRect.right : targetRect.bottom, targetOppLength = vertical ? targetRect.width : targetRect.height;
2158
+ return dragElS1Opp === targetS1Opp || dragElS2Opp === targetS2Opp || dragElS1Opp + dragElOppLength / 2 === targetS1Opp + targetOppLength / 2;
2159
+ }, _detectNearestEmptySortable = function _detectNearestEmptySortable2(x, y) {
2160
+ var ret;
2161
+ sortables.some(function(sortable) {
2162
+ var threshold = sortable[expando].options.emptyInsertThreshold;
2163
+ if (!threshold || lastChild(sortable))
2164
+ return;
2165
+ var rect = getRect(sortable), insideHorizontally = x >= rect.left - threshold && x <= rect.right + threshold, insideVertically = y >= rect.top - threshold && y <= rect.bottom + threshold;
2166
+ if (insideHorizontally && insideVertically) {
2167
+ return ret = sortable;
2168
+ }
2169
+ });
2170
+ return ret;
2171
+ }, _prepareGroup = function _prepareGroup2(options) {
2172
+ function toFn(value, pull2) {
2173
+ return function(to, from, dragEl2, evt) {
2174
+ var sameGroup = to.options.group.name && from.options.group.name && to.options.group.name === from.options.group.name;
2175
+ if (value == null && (pull2 || sameGroup)) {
2176
+ return true;
2177
+ } else if (value == null || value === false) {
2178
+ return false;
2179
+ } else if (pull2 && value === "clone") {
2180
+ return value;
2181
+ } else if (typeof value === "function") {
2182
+ return toFn(value(to, from, dragEl2, evt), pull2)(to, from, dragEl2, evt);
2183
+ } else {
2184
+ var otherGroup = (pull2 ? to : from).options.group.name;
2185
+ return value === true || typeof value === "string" && value === otherGroup || value.join && value.indexOf(otherGroup) > -1;
2186
+ }
2187
+ };
2188
+ }
2189
+ var group = {};
2190
+ var originalGroup = options.group;
2191
+ if (!originalGroup || _typeof(originalGroup) != "object") {
2192
+ originalGroup = {
2193
+ name: originalGroup
2194
+ };
2195
+ }
2196
+ group.name = originalGroup.name;
2197
+ group.checkPull = toFn(originalGroup.pull, true);
2198
+ group.checkPut = toFn(originalGroup.put);
2199
+ group.revertClone = originalGroup.revertClone;
2200
+ options.group = group;
2201
+ }, _hideGhostForTarget = function _hideGhostForTarget2() {
2202
+ if (!supportCssPointerEvents && ghostEl) {
2203
+ css(ghostEl, "display", "none");
2204
+ }
2205
+ }, _unhideGhostForTarget = function _unhideGhostForTarget2() {
2206
+ if (!supportCssPointerEvents && ghostEl) {
2207
+ css(ghostEl, "display", "");
2208
+ }
2209
+ };
2210
+ if (documentExists && !ChromeForAndroid) {
2211
+ document.addEventListener("click", function(evt) {
2212
+ if (ignoreNextClick) {
2213
+ evt.preventDefault();
2214
+ evt.stopPropagation && evt.stopPropagation();
2215
+ evt.stopImmediatePropagation && evt.stopImmediatePropagation();
2216
+ ignoreNextClick = false;
2217
+ return false;
2218
+ }
2219
+ }, true);
2220
+ }
2221
+ var nearestEmptyInsertDetectEvent = function nearestEmptyInsertDetectEvent2(evt) {
2222
+ if (dragEl) {
2223
+ evt = evt.touches ? evt.touches[0] : evt;
2224
+ var nearest = _detectNearestEmptySortable(evt.clientX, evt.clientY);
2225
+ if (nearest) {
2226
+ var event = {};
2227
+ for (var i in evt) {
2228
+ if (evt.hasOwnProperty(i)) {
2229
+ event[i] = evt[i];
2230
+ }
2231
+ }
2232
+ event.target = event.rootEl = nearest;
2233
+ event.preventDefault = void 0;
2234
+ event.stopPropagation = void 0;
2235
+ nearest[expando]._onDragOver(event);
2236
+ }
2237
+ }
2238
+ };
2239
+ var _checkOutsideTargetEl = function _checkOutsideTargetEl2(evt) {
2240
+ if (dragEl) {
2241
+ dragEl.parentNode[expando]._isOutsideThisEl(evt.target);
2242
+ }
2243
+ };
2244
+ function Sortable(el, options) {
2245
+ if (!(el && el.nodeType && el.nodeType === 1)) {
2246
+ throw "Sortable: `el` must be an HTMLElement, not ".concat({}.toString.call(el));
2247
+ }
2248
+ this.el = el;
2249
+ this.options = options = _extends({}, options);
2250
+ el[expando] = this;
2251
+ var defaults2 = {
2252
+ group: null,
2253
+ sort: true,
2254
+ disabled: false,
2255
+ store: null,
2256
+ handle: null,
2257
+ draggable: /^[uo]l$/i.test(el.nodeName) ? ">li" : ">*",
2258
+ swapThreshold: 1,
2259
+ // percentage; 0 <= x <= 1
2260
+ invertSwap: false,
2261
+ // invert always
2262
+ invertedSwapThreshold: null,
2263
+ // will be set to same as swapThreshold if default
2264
+ removeCloneOnHide: true,
2265
+ direction: function direction() {
2266
+ return _detectDirection(el, this.options);
2267
+ },
2268
+ ghostClass: "sortable-ghost",
2269
+ chosenClass: "sortable-chosen",
2270
+ dragClass: "sortable-drag",
2271
+ ignore: "a, img",
2272
+ filter: null,
2273
+ preventOnFilter: true,
2274
+ animation: 0,
2275
+ easing: null,
2276
+ setData: function setData(dataTransfer, dragEl2) {
2277
+ dataTransfer.setData("Text", dragEl2.textContent);
2278
+ },
2279
+ dropBubble: false,
2280
+ dragoverBubble: false,
2281
+ dataIdAttr: "data-id",
2282
+ delay: 0,
2283
+ delayOnTouchOnly: false,
2284
+ touchStartThreshold: (Number.parseInt ? Number : window).parseInt(window.devicePixelRatio, 10) || 1,
2285
+ forceFallback: false,
2286
+ fallbackClass: "sortable-fallback",
2287
+ fallbackOnBody: false,
2288
+ fallbackTolerance: 0,
2289
+ fallbackOffset: {
2290
+ x: 0,
2291
+ y: 0
2292
+ },
2293
+ supportPointer: Sortable.supportPointer !== false && "PointerEvent" in window && !Safari,
2294
+ emptyInsertThreshold: 5
2295
+ };
2296
+ PluginManager.initializePlugins(this, el, defaults2);
2297
+ for (var name2 in defaults2) {
2298
+ !(name2 in options) && (options[name2] = defaults2[name2]);
2299
+ }
2300
+ _prepareGroup(options);
2301
+ for (var fn in this) {
2302
+ if (fn.charAt(0) === "_" && typeof this[fn] === "function") {
2303
+ this[fn] = this[fn].bind(this);
2304
+ }
2305
+ }
2306
+ this.nativeDraggable = options.forceFallback ? false : supportDraggable;
2307
+ if (this.nativeDraggable) {
2308
+ this.options.touchStartThreshold = 1;
2309
+ }
2310
+ if (options.supportPointer) {
2311
+ on(el, "pointerdown", this._onTapStart);
2312
+ } else {
2313
+ on(el, "mousedown", this._onTapStart);
2314
+ on(el, "touchstart", this._onTapStart);
2315
+ }
2316
+ if (this.nativeDraggable) {
2317
+ on(el, "dragover", this);
2318
+ on(el, "dragenter", this);
2319
+ }
2320
+ sortables.push(this.el);
2321
+ options.store && options.store.get && this.sort(options.store.get(this) || []);
2322
+ _extends(this, AnimationStateManager());
2323
+ }
2324
+ Sortable.prototype = /** @lends Sortable.prototype */
2325
+ {
2326
+ constructor: Sortable,
2327
+ _isOutsideThisEl: function _isOutsideThisEl(target) {
2328
+ if (!this.el.contains(target) && target !== this.el) {
2329
+ lastTarget = null;
2330
+ }
2331
+ },
2332
+ _getDirection: function _getDirection(evt, target) {
2333
+ return typeof this.options.direction === "function" ? this.options.direction.call(this, evt, target, dragEl) : this.options.direction;
2334
+ },
2335
+ _onTapStart: function _onTapStart(evt) {
2336
+ if (!evt.cancelable)
2337
+ return;
2338
+ var _this = this, el = this.el, options = this.options, preventOnFilter = options.preventOnFilter, type2 = evt.type, touch = evt.touches && evt.touches[0] || evt.pointerType && evt.pointerType === "touch" && evt, target = (touch || evt).target, originalTarget = evt.target.shadowRoot && (evt.path && evt.path[0] || evt.composedPath && evt.composedPath()[0]) || target, filter = options.filter;
2339
+ _saveInputCheckedState(el);
2340
+ if (dragEl) {
2341
+ return;
2342
+ }
2343
+ if (/mousedown|pointerdown/.test(type2) && evt.button !== 0 || options.disabled) {
2344
+ return;
2345
+ }
2346
+ if (originalTarget.isContentEditable) {
2347
+ return;
2348
+ }
2349
+ if (!this.nativeDraggable && Safari && target && target.tagName.toUpperCase() === "SELECT") {
2350
+ return;
2351
+ }
2352
+ target = closest(target, options.draggable, el, false);
2353
+ if (target && target.animated) {
2354
+ return;
2355
+ }
2356
+ if (lastDownEl === target) {
2357
+ return;
2358
+ }
2359
+ oldIndex = index(target);
2360
+ oldDraggableIndex = index(target, options.draggable);
2361
+ if (typeof filter === "function") {
2362
+ if (filter.call(this, evt, target, this)) {
2363
+ _dispatchEvent({
2364
+ sortable: _this,
2365
+ rootEl: originalTarget,
2366
+ name: "filter",
2367
+ targetEl: target,
2368
+ toEl: el,
2369
+ fromEl: el
2370
+ });
2371
+ pluginEvent2("filter", _this, {
2372
+ evt
2373
+ });
2374
+ preventOnFilter && evt.cancelable && evt.preventDefault();
2375
+ return;
2376
+ }
2377
+ } else if (filter) {
2378
+ filter = filter.split(",").some(function(criteria) {
2379
+ criteria = closest(originalTarget, criteria.trim(), el, false);
2380
+ if (criteria) {
2381
+ _dispatchEvent({
2382
+ sortable: _this,
2383
+ rootEl: criteria,
2384
+ name: "filter",
2385
+ targetEl: target,
2386
+ fromEl: el,
2387
+ toEl: el
2388
+ });
2389
+ pluginEvent2("filter", _this, {
2390
+ evt
2391
+ });
2392
+ return true;
2393
+ }
2394
+ });
2395
+ if (filter) {
2396
+ preventOnFilter && evt.cancelable && evt.preventDefault();
2397
+ return;
2398
+ }
2399
+ }
2400
+ if (options.handle && !closest(originalTarget, options.handle, el, false)) {
2401
+ return;
2402
+ }
2403
+ this._prepareDragStart(evt, touch, target);
2404
+ },
2405
+ _prepareDragStart: function _prepareDragStart(evt, touch, target) {
2406
+ var _this = this, el = _this.el, options = _this.options, ownerDocument = el.ownerDocument, dragStartFn;
2407
+ if (target && !dragEl && target.parentNode === el) {
2408
+ var dragRect = getRect(target);
2409
+ rootEl = el;
2410
+ dragEl = target;
2411
+ parentEl = dragEl.parentNode;
2412
+ nextEl = dragEl.nextSibling;
2413
+ lastDownEl = target;
2414
+ activeGroup = options.group;
2415
+ Sortable.dragged = dragEl;
2416
+ tapEvt = {
2417
+ target: dragEl,
2418
+ clientX: (touch || evt).clientX,
2419
+ clientY: (touch || evt).clientY
2420
+ };
2421
+ tapDistanceLeft = tapEvt.clientX - dragRect.left;
2422
+ tapDistanceTop = tapEvt.clientY - dragRect.top;
2423
+ this._lastX = (touch || evt).clientX;
2424
+ this._lastY = (touch || evt).clientY;
2425
+ dragEl.style["will-change"] = "all";
2426
+ dragStartFn = function dragStartFn2() {
2427
+ pluginEvent2("delayEnded", _this, {
2428
+ evt
2429
+ });
2430
+ if (Sortable.eventCanceled) {
2431
+ _this._onDrop();
2432
+ return;
2433
+ }
2434
+ _this._disableDelayedDragEvents();
2435
+ if (!FireFox && _this.nativeDraggable) {
2436
+ dragEl.draggable = true;
2437
+ }
2438
+ _this._triggerDragStart(evt, touch);
2439
+ _dispatchEvent({
2440
+ sortable: _this,
2441
+ name: "choose",
2442
+ originalEvent: evt
2443
+ });
2444
+ toggleClass(dragEl, options.chosenClass, true);
2445
+ };
2446
+ options.ignore.split(",").forEach(function(criteria) {
2447
+ find(dragEl, criteria.trim(), _disableDraggable);
2448
+ });
2449
+ on(ownerDocument, "dragover", nearestEmptyInsertDetectEvent);
2450
+ on(ownerDocument, "mousemove", nearestEmptyInsertDetectEvent);
2451
+ on(ownerDocument, "touchmove", nearestEmptyInsertDetectEvent);
2452
+ on(ownerDocument, "mouseup", _this._onDrop);
2453
+ on(ownerDocument, "touchend", _this._onDrop);
2454
+ on(ownerDocument, "touchcancel", _this._onDrop);
2455
+ if (FireFox && this.nativeDraggable) {
2456
+ this.options.touchStartThreshold = 4;
2457
+ dragEl.draggable = true;
2458
+ }
2459
+ pluginEvent2("delayStart", this, {
2460
+ evt
2461
+ });
2462
+ if (options.delay && (!options.delayOnTouchOnly || touch) && (!this.nativeDraggable || !(Edge || IE11OrLess))) {
2463
+ if (Sortable.eventCanceled) {
2464
+ this._onDrop();
2465
+ return;
2466
+ }
2467
+ on(ownerDocument, "mouseup", _this._disableDelayedDrag);
2468
+ on(ownerDocument, "touchend", _this._disableDelayedDrag);
2469
+ on(ownerDocument, "touchcancel", _this._disableDelayedDrag);
2470
+ on(ownerDocument, "mousemove", _this._delayedDragTouchMoveHandler);
2471
+ on(ownerDocument, "touchmove", _this._delayedDragTouchMoveHandler);
2472
+ options.supportPointer && on(ownerDocument, "pointermove", _this._delayedDragTouchMoveHandler);
2473
+ _this._dragStartTimer = setTimeout(dragStartFn, options.delay);
2474
+ } else {
2475
+ dragStartFn();
2476
+ }
2477
+ }
2478
+ },
2479
+ _delayedDragTouchMoveHandler: function _delayedDragTouchMoveHandler(e) {
2480
+ var touch = e.touches ? e.touches[0] : e;
2481
+ if (Math.max(Math.abs(touch.clientX - this._lastX), Math.abs(touch.clientY - this._lastY)) >= Math.floor(this.options.touchStartThreshold / (this.nativeDraggable && window.devicePixelRatio || 1))) {
2482
+ this._disableDelayedDrag();
2483
+ }
2484
+ },
2485
+ _disableDelayedDrag: function _disableDelayedDrag() {
2486
+ dragEl && _disableDraggable(dragEl);
2487
+ clearTimeout(this._dragStartTimer);
2488
+ this._disableDelayedDragEvents();
2489
+ },
2490
+ _disableDelayedDragEvents: function _disableDelayedDragEvents() {
2491
+ var ownerDocument = this.el.ownerDocument;
2492
+ off(ownerDocument, "mouseup", this._disableDelayedDrag);
2493
+ off(ownerDocument, "touchend", this._disableDelayedDrag);
2494
+ off(ownerDocument, "touchcancel", this._disableDelayedDrag);
2495
+ off(ownerDocument, "mousemove", this._delayedDragTouchMoveHandler);
2496
+ off(ownerDocument, "touchmove", this._delayedDragTouchMoveHandler);
2497
+ off(ownerDocument, "pointermove", this._delayedDragTouchMoveHandler);
2498
+ },
2499
+ _triggerDragStart: function _triggerDragStart(evt, touch) {
2500
+ touch = touch || evt.pointerType == "touch" && evt;
2501
+ if (!this.nativeDraggable || touch) {
2502
+ if (this.options.supportPointer) {
2503
+ on(document, "pointermove", this._onTouchMove);
2504
+ } else if (touch) {
2505
+ on(document, "touchmove", this._onTouchMove);
2506
+ } else {
2507
+ on(document, "mousemove", this._onTouchMove);
2508
+ }
2509
+ } else {
2510
+ on(dragEl, "dragend", this);
2511
+ on(rootEl, "dragstart", this._onDragStart);
2512
+ }
2513
+ try {
2514
+ if (document.selection) {
2515
+ _nextTick(function() {
2516
+ document.selection.empty();
2517
+ });
2518
+ } else {
2519
+ window.getSelection().removeAllRanges();
2520
+ }
2521
+ } catch (err) {
2522
+ }
2523
+ },
2524
+ _dragStarted: function _dragStarted(fallback, evt) {
2525
+ awaitingDragStarted = false;
2526
+ if (rootEl && dragEl) {
2527
+ pluginEvent2("dragStarted", this, {
2528
+ evt
2529
+ });
2530
+ if (this.nativeDraggable) {
2531
+ on(document, "dragover", _checkOutsideTargetEl);
2532
+ }
2533
+ var options = this.options;
2534
+ !fallback && toggleClass(dragEl, options.dragClass, false);
2535
+ toggleClass(dragEl, options.ghostClass, true);
2536
+ Sortable.active = this;
2537
+ fallback && this._appendGhost();
2538
+ _dispatchEvent({
2539
+ sortable: this,
2540
+ name: "start",
2541
+ originalEvent: evt
2542
+ });
2543
+ } else {
2544
+ this._nulling();
2545
+ }
2546
+ },
2547
+ _emulateDragOver: function _emulateDragOver() {
2548
+ if (touchEvt) {
2549
+ this._lastX = touchEvt.clientX;
2550
+ this._lastY = touchEvt.clientY;
2551
+ _hideGhostForTarget();
2552
+ var target = document.elementFromPoint(touchEvt.clientX, touchEvt.clientY);
2553
+ var parent = target;
2554
+ while (target && target.shadowRoot) {
2555
+ target = target.shadowRoot.elementFromPoint(touchEvt.clientX, touchEvt.clientY);
2556
+ if (target === parent)
2557
+ break;
2558
+ parent = target;
2559
+ }
2560
+ dragEl.parentNode[expando]._isOutsideThisEl(target);
2561
+ if (parent) {
2562
+ do {
2563
+ if (parent[expando]) {
2564
+ var inserted = void 0;
2565
+ inserted = parent[expando]._onDragOver({
2566
+ clientX: touchEvt.clientX,
2567
+ clientY: touchEvt.clientY,
2568
+ target,
2569
+ rootEl: parent
2570
+ });
2571
+ if (inserted && !this.options.dragoverBubble) {
2572
+ break;
2573
+ }
2574
+ }
2575
+ target = parent;
2576
+ } while (parent = getParentOrHost(parent));
2577
+ }
2578
+ _unhideGhostForTarget();
2579
+ }
2580
+ },
2581
+ _onTouchMove: function _onTouchMove(evt) {
2582
+ if (tapEvt) {
2583
+ var options = this.options, fallbackTolerance = options.fallbackTolerance, fallbackOffset = options.fallbackOffset, touch = evt.touches ? evt.touches[0] : evt, ghostMatrix = ghostEl && matrix(ghostEl, true), scaleX = ghostEl && ghostMatrix && ghostMatrix.a, scaleY = ghostEl && ghostMatrix && ghostMatrix.d, relativeScrollOffset = PositionGhostAbsolutely && ghostRelativeParent && getRelativeScrollOffset(ghostRelativeParent), dx = (touch.clientX - tapEvt.clientX + fallbackOffset.x) / (scaleX || 1) + (relativeScrollOffset ? relativeScrollOffset[0] - ghostRelativeParentInitialScroll[0] : 0) / (scaleX || 1), dy = (touch.clientY - tapEvt.clientY + fallbackOffset.y) / (scaleY || 1) + (relativeScrollOffset ? relativeScrollOffset[1] - ghostRelativeParentInitialScroll[1] : 0) / (scaleY || 1);
2584
+ if (!Sortable.active && !awaitingDragStarted) {
2585
+ if (fallbackTolerance && Math.max(Math.abs(touch.clientX - this._lastX), Math.abs(touch.clientY - this._lastY)) < fallbackTolerance) {
2586
+ return;
2587
+ }
2588
+ this._onDragStart(evt, true);
2589
+ }
2590
+ if (ghostEl) {
2591
+ if (ghostMatrix) {
2592
+ ghostMatrix.e += dx - (lastDx || 0);
2593
+ ghostMatrix.f += dy - (lastDy || 0);
2594
+ } else {
2595
+ ghostMatrix = {
2596
+ a: 1,
2597
+ b: 0,
2598
+ c: 0,
2599
+ d: 1,
2600
+ e: dx,
2601
+ f: dy
2602
+ };
2603
+ }
2604
+ var cssMatrix = "matrix(".concat(ghostMatrix.a, ",").concat(ghostMatrix.b, ",").concat(ghostMatrix.c, ",").concat(ghostMatrix.d, ",").concat(ghostMatrix.e, ",").concat(ghostMatrix.f, ")");
2605
+ css(ghostEl, "webkitTransform", cssMatrix);
2606
+ css(ghostEl, "mozTransform", cssMatrix);
2607
+ css(ghostEl, "msTransform", cssMatrix);
2608
+ css(ghostEl, "transform", cssMatrix);
2609
+ lastDx = dx;
2610
+ lastDy = dy;
2611
+ touchEvt = touch;
2612
+ }
2613
+ evt.cancelable && evt.preventDefault();
2614
+ }
2615
+ },
2616
+ _appendGhost: function _appendGhost() {
2617
+ if (!ghostEl) {
2618
+ var container = this.options.fallbackOnBody ? document.body : rootEl, rect = getRect(dragEl, true, PositionGhostAbsolutely, true, container), options = this.options;
2619
+ if (PositionGhostAbsolutely) {
2620
+ ghostRelativeParent = container;
2621
+ while (css(ghostRelativeParent, "position") === "static" && css(ghostRelativeParent, "transform") === "none" && ghostRelativeParent !== document) {
2622
+ ghostRelativeParent = ghostRelativeParent.parentNode;
2623
+ }
2624
+ if (ghostRelativeParent !== document.body && ghostRelativeParent !== document.documentElement) {
2625
+ if (ghostRelativeParent === document)
2626
+ ghostRelativeParent = getWindowScrollingElement();
2627
+ rect.top += ghostRelativeParent.scrollTop;
2628
+ rect.left += ghostRelativeParent.scrollLeft;
2629
+ } else {
2630
+ ghostRelativeParent = getWindowScrollingElement();
2631
+ }
2632
+ ghostRelativeParentInitialScroll = getRelativeScrollOffset(ghostRelativeParent);
2633
+ }
2634
+ ghostEl = dragEl.cloneNode(true);
2635
+ toggleClass(ghostEl, options.ghostClass, false);
2636
+ toggleClass(ghostEl, options.fallbackClass, true);
2637
+ toggleClass(ghostEl, options.dragClass, true);
2638
+ css(ghostEl, "transition", "");
2639
+ css(ghostEl, "transform", "");
2640
+ css(ghostEl, "box-sizing", "border-box");
2641
+ css(ghostEl, "margin", 0);
2642
+ css(ghostEl, "top", rect.top);
2643
+ css(ghostEl, "left", rect.left);
2644
+ css(ghostEl, "width", rect.width);
2645
+ css(ghostEl, "height", rect.height);
2646
+ css(ghostEl, "opacity", "0.8");
2647
+ css(ghostEl, "position", PositionGhostAbsolutely ? "absolute" : "fixed");
2648
+ css(ghostEl, "zIndex", "100000");
2649
+ css(ghostEl, "pointerEvents", "none");
2650
+ Sortable.ghost = ghostEl;
2651
+ container.appendChild(ghostEl);
2652
+ css(ghostEl, "transform-origin", tapDistanceLeft / parseInt(ghostEl.style.width) * 100 + "% " + tapDistanceTop / parseInt(ghostEl.style.height) * 100 + "%");
2653
+ }
2654
+ },
2655
+ _onDragStart: function _onDragStart(evt, fallback) {
2656
+ var _this = this;
2657
+ var dataTransfer = evt.dataTransfer;
2658
+ var options = _this.options;
2659
+ pluginEvent2("dragStart", this, {
2660
+ evt
2661
+ });
2662
+ if (Sortable.eventCanceled) {
2663
+ this._onDrop();
2664
+ return;
2665
+ }
2666
+ pluginEvent2("setupClone", this);
2667
+ if (!Sortable.eventCanceled) {
2668
+ cloneEl = clone(dragEl);
2669
+ cloneEl.removeAttribute("id");
2670
+ cloneEl.draggable = false;
2671
+ cloneEl.style["will-change"] = "";
2672
+ this._hideClone();
2673
+ toggleClass(cloneEl, this.options.chosenClass, false);
2674
+ Sortable.clone = cloneEl;
2675
+ }
2676
+ _this.cloneId = _nextTick(function() {
2677
+ pluginEvent2("clone", _this);
2678
+ if (Sortable.eventCanceled)
2679
+ return;
2680
+ if (!_this.options.removeCloneOnHide) {
2681
+ rootEl.insertBefore(cloneEl, dragEl);
2682
+ }
2683
+ _this._hideClone();
2684
+ _dispatchEvent({
2685
+ sortable: _this,
2686
+ name: "clone"
2687
+ });
2688
+ });
2689
+ !fallback && toggleClass(dragEl, options.dragClass, true);
2690
+ if (fallback) {
2691
+ ignoreNextClick = true;
2692
+ _this._loopId = setInterval(_this._emulateDragOver, 50);
2693
+ } else {
2694
+ off(document, "mouseup", _this._onDrop);
2695
+ off(document, "touchend", _this._onDrop);
2696
+ off(document, "touchcancel", _this._onDrop);
2697
+ if (dataTransfer) {
2698
+ dataTransfer.effectAllowed = "move";
2699
+ options.setData && options.setData.call(_this, dataTransfer, dragEl);
2700
+ }
2701
+ on(document, "drop", _this);
2702
+ css(dragEl, "transform", "translateZ(0)");
2703
+ }
2704
+ awaitingDragStarted = true;
2705
+ _this._dragStartId = _nextTick(_this._dragStarted.bind(_this, fallback, evt));
2706
+ on(document, "selectstart", _this);
2707
+ moved = true;
2708
+ if (Safari) {
2709
+ css(document.body, "user-select", "none");
2710
+ }
2711
+ },
2712
+ // Returns true - if no further action is needed (either inserted or another condition)
2713
+ _onDragOver: function _onDragOver(evt) {
2714
+ var el = this.el, target = evt.target, dragRect, targetRect, revert, options = this.options, group = options.group, activeSortable = Sortable.active, isOwner = activeGroup === group, canSort = options.sort, fromSortable = putSortable || activeSortable, vertical, _this = this, completedFired = false;
2715
+ if (_silent)
2716
+ return;
2717
+ function dragOverEvent(name2, extra) {
2718
+ pluginEvent2(name2, _this, _objectSpread2({
2719
+ evt,
2720
+ isOwner,
2721
+ axis: vertical ? "vertical" : "horizontal",
2722
+ revert,
2723
+ dragRect,
2724
+ targetRect,
2725
+ canSort,
2726
+ fromSortable,
2727
+ target,
2728
+ completed,
2729
+ onMove: function onMove(target2, after2) {
2730
+ return _onMove(rootEl, el, dragEl, dragRect, target2, getRect(target2), evt, after2);
2731
+ },
2732
+ changed
2733
+ }, extra));
2734
+ }
2735
+ function capture() {
2736
+ dragOverEvent("dragOverAnimationCapture");
2737
+ _this.captureAnimationState();
2738
+ if (_this !== fromSortable) {
2739
+ fromSortable.captureAnimationState();
2740
+ }
2741
+ }
2742
+ function completed(insertion) {
2743
+ dragOverEvent("dragOverCompleted", {
2744
+ insertion
2745
+ });
2746
+ if (insertion) {
2747
+ if (isOwner) {
2748
+ activeSortable._hideClone();
2749
+ } else {
2750
+ activeSortable._showClone(_this);
2751
+ }
2752
+ if (_this !== fromSortable) {
2753
+ toggleClass(dragEl, putSortable ? putSortable.options.ghostClass : activeSortable.options.ghostClass, false);
2754
+ toggleClass(dragEl, options.ghostClass, true);
2755
+ }
2756
+ if (putSortable !== _this && _this !== Sortable.active) {
2757
+ putSortable = _this;
2758
+ } else if (_this === Sortable.active && putSortable) {
2759
+ putSortable = null;
2760
+ }
2761
+ if (fromSortable === _this) {
2762
+ _this._ignoreWhileAnimating = target;
2763
+ }
2764
+ _this.animateAll(function() {
2765
+ dragOverEvent("dragOverAnimationComplete");
2766
+ _this._ignoreWhileAnimating = null;
2767
+ });
2768
+ if (_this !== fromSortable) {
2769
+ fromSortable.animateAll();
2770
+ fromSortable._ignoreWhileAnimating = null;
2771
+ }
2772
+ }
2773
+ if (target === dragEl && !dragEl.animated || target === el && !target.animated) {
2774
+ lastTarget = null;
2775
+ }
2776
+ if (!options.dragoverBubble && !evt.rootEl && target !== document) {
2777
+ dragEl.parentNode[expando]._isOutsideThisEl(evt.target);
2778
+ !insertion && nearestEmptyInsertDetectEvent(evt);
2779
+ }
2780
+ !options.dragoverBubble && evt.stopPropagation && evt.stopPropagation();
2781
+ return completedFired = true;
2782
+ }
2783
+ function changed() {
2784
+ newIndex = index(dragEl);
2785
+ newDraggableIndex = index(dragEl, options.draggable);
2786
+ _dispatchEvent({
2787
+ sortable: _this,
2788
+ name: "change",
2789
+ toEl: el,
2790
+ newIndex,
2791
+ newDraggableIndex,
2792
+ originalEvent: evt
2793
+ });
2794
+ }
2795
+ if (evt.preventDefault !== void 0) {
2796
+ evt.cancelable && evt.preventDefault();
2797
+ }
2798
+ target = closest(target, options.draggable, el, true);
2799
+ dragOverEvent("dragOver");
2800
+ if (Sortable.eventCanceled)
2801
+ return completedFired;
2802
+ if (dragEl.contains(evt.target) || target.animated && target.animatingX && target.animatingY || _this._ignoreWhileAnimating === target) {
2803
+ return completed(false);
2804
+ }
2805
+ ignoreNextClick = false;
2806
+ if (activeSortable && !options.disabled && (isOwner ? canSort || (revert = parentEl !== rootEl) : putSortable === this || (this.lastPutMode = activeGroup.checkPull(this, activeSortable, dragEl, evt)) && group.checkPut(this, activeSortable, dragEl, evt))) {
2807
+ vertical = this._getDirection(evt, target) === "vertical";
2808
+ dragRect = getRect(dragEl);
2809
+ dragOverEvent("dragOverValid");
2810
+ if (Sortable.eventCanceled)
2811
+ return completedFired;
2812
+ if (revert) {
2813
+ parentEl = rootEl;
2814
+ capture();
2815
+ this._hideClone();
2816
+ dragOverEvent("revert");
2817
+ if (!Sortable.eventCanceled) {
2818
+ if (nextEl) {
2819
+ rootEl.insertBefore(dragEl, nextEl);
2820
+ } else {
2821
+ rootEl.appendChild(dragEl);
2822
+ }
2823
+ }
2824
+ return completed(true);
2825
+ }
2826
+ var elLastChild = lastChild(el, options.draggable);
2827
+ if (!elLastChild || _ghostIsLast(evt, vertical, this) && !elLastChild.animated) {
2828
+ if (elLastChild === dragEl) {
2829
+ return completed(false);
2830
+ }
2831
+ if (elLastChild && el === evt.target) {
2832
+ target = elLastChild;
2833
+ }
2834
+ if (target) {
2835
+ targetRect = getRect(target);
2836
+ }
2837
+ if (_onMove(rootEl, el, dragEl, dragRect, target, targetRect, evt, !!target) !== false) {
2838
+ capture();
2839
+ if (elLastChild && elLastChild.nextSibling) {
2840
+ el.insertBefore(dragEl, elLastChild.nextSibling);
2841
+ } else {
2842
+ el.appendChild(dragEl);
2843
+ }
2844
+ parentEl = el;
2845
+ changed();
2846
+ return completed(true);
2847
+ }
2848
+ } else if (elLastChild && _ghostIsFirst(evt, vertical, this)) {
2849
+ var firstChild = getChild(el, 0, options, true);
2850
+ if (firstChild === dragEl) {
2851
+ return completed(false);
2852
+ }
2853
+ target = firstChild;
2854
+ targetRect = getRect(target);
2855
+ if (_onMove(rootEl, el, dragEl, dragRect, target, targetRect, evt, false) !== false) {
2856
+ capture();
2857
+ el.insertBefore(dragEl, firstChild);
2858
+ parentEl = el;
2859
+ changed();
2860
+ return completed(true);
2861
+ }
2862
+ } else if (target.parentNode === el) {
2863
+ targetRect = getRect(target);
2864
+ var direction = 0, targetBeforeFirstSwap, differentLevel = dragEl.parentNode !== el, differentRowCol = !_dragElInRowColumn(dragEl.animated && dragEl.toRect || dragRect, target.animated && target.toRect || targetRect, vertical), side1 = vertical ? "top" : "left", scrolledPastTop = isScrolledPast(target, "top", "top") || isScrolledPast(dragEl, "top", "top"), scrollBefore = scrolledPastTop ? scrolledPastTop.scrollTop : void 0;
2865
+ if (lastTarget !== target) {
2866
+ targetBeforeFirstSwap = targetRect[side1];
2867
+ pastFirstInvertThresh = false;
2868
+ isCircumstantialInvert = !differentRowCol && options.invertSwap || differentLevel;
2869
+ }
2870
+ direction = _getSwapDirection(evt, target, targetRect, vertical, differentRowCol ? 1 : options.swapThreshold, options.invertedSwapThreshold == null ? options.swapThreshold : options.invertedSwapThreshold, isCircumstantialInvert, lastTarget === target);
2871
+ var sibling;
2872
+ if (direction !== 0) {
2873
+ var dragIndex = index(dragEl);
2874
+ do {
2875
+ dragIndex -= direction;
2876
+ sibling = parentEl.children[dragIndex];
2877
+ } while (sibling && (css(sibling, "display") === "none" || sibling === ghostEl));
2878
+ }
2879
+ if (direction === 0 || sibling === target) {
2880
+ return completed(false);
2881
+ }
2882
+ lastTarget = target;
2883
+ lastDirection = direction;
2884
+ var nextSibling = target.nextElementSibling, after = false;
2885
+ after = direction === 1;
2886
+ var moveVector = _onMove(rootEl, el, dragEl, dragRect, target, targetRect, evt, after);
2887
+ if (moveVector !== false) {
2888
+ if (moveVector === 1 || moveVector === -1) {
2889
+ after = moveVector === 1;
2890
+ }
2891
+ _silent = true;
2892
+ setTimeout(_unsilent, 30);
2893
+ capture();
2894
+ if (after && !nextSibling) {
2895
+ el.appendChild(dragEl);
2896
+ } else {
2897
+ target.parentNode.insertBefore(dragEl, after ? nextSibling : target);
2898
+ }
2899
+ if (scrolledPastTop) {
2900
+ scrollBy(scrolledPastTop, 0, scrollBefore - scrolledPastTop.scrollTop);
2901
+ }
2902
+ parentEl = dragEl.parentNode;
2903
+ if (targetBeforeFirstSwap !== void 0 && !isCircumstantialInvert) {
2904
+ targetMoveDistance = Math.abs(targetBeforeFirstSwap - getRect(target)[side1]);
2905
+ }
2906
+ changed();
2907
+ return completed(true);
2908
+ }
2909
+ }
2910
+ if (el.contains(dragEl)) {
2911
+ return completed(false);
2912
+ }
2913
+ }
2914
+ return false;
2915
+ },
2916
+ _ignoreWhileAnimating: null,
2917
+ _offMoveEvents: function _offMoveEvents() {
2918
+ off(document, "mousemove", this._onTouchMove);
2919
+ off(document, "touchmove", this._onTouchMove);
2920
+ off(document, "pointermove", this._onTouchMove);
2921
+ off(document, "dragover", nearestEmptyInsertDetectEvent);
2922
+ off(document, "mousemove", nearestEmptyInsertDetectEvent);
2923
+ off(document, "touchmove", nearestEmptyInsertDetectEvent);
2924
+ },
2925
+ _offUpEvents: function _offUpEvents() {
2926
+ var ownerDocument = this.el.ownerDocument;
2927
+ off(ownerDocument, "mouseup", this._onDrop);
2928
+ off(ownerDocument, "touchend", this._onDrop);
2929
+ off(ownerDocument, "pointerup", this._onDrop);
2930
+ off(ownerDocument, "touchcancel", this._onDrop);
2931
+ off(document, "selectstart", this);
2932
+ },
2933
+ _onDrop: function _onDrop(evt) {
2934
+ var el = this.el, options = this.options;
2935
+ newIndex = index(dragEl);
2936
+ newDraggableIndex = index(dragEl, options.draggable);
2937
+ pluginEvent2("drop", this, {
2938
+ evt
2939
+ });
2940
+ parentEl = dragEl && dragEl.parentNode;
2941
+ newIndex = index(dragEl);
2942
+ newDraggableIndex = index(dragEl, options.draggable);
2943
+ if (Sortable.eventCanceled) {
2944
+ this._nulling();
2945
+ return;
2946
+ }
2947
+ awaitingDragStarted = false;
2948
+ isCircumstantialInvert = false;
2949
+ pastFirstInvertThresh = false;
2950
+ clearInterval(this._loopId);
2951
+ clearTimeout(this._dragStartTimer);
2952
+ _cancelNextTick(this.cloneId);
2953
+ _cancelNextTick(this._dragStartId);
2954
+ if (this.nativeDraggable) {
2955
+ off(document, "drop", this);
2956
+ off(el, "dragstart", this._onDragStart);
2957
+ }
2958
+ this._offMoveEvents();
2959
+ this._offUpEvents();
2960
+ if (Safari) {
2961
+ css(document.body, "user-select", "");
2962
+ }
2963
+ css(dragEl, "transform", "");
2964
+ if (evt) {
2965
+ if (moved) {
2966
+ evt.cancelable && evt.preventDefault();
2967
+ !options.dropBubble && evt.stopPropagation();
2968
+ }
2969
+ ghostEl && ghostEl.parentNode && ghostEl.parentNode.removeChild(ghostEl);
2970
+ if (rootEl === parentEl || putSortable && putSortable.lastPutMode !== "clone") {
2971
+ cloneEl && cloneEl.parentNode && cloneEl.parentNode.removeChild(cloneEl);
2972
+ }
2973
+ if (dragEl) {
2974
+ if (this.nativeDraggable) {
2975
+ off(dragEl, "dragend", this);
2976
+ }
2977
+ _disableDraggable(dragEl);
2978
+ dragEl.style["will-change"] = "";
2979
+ if (moved && !awaitingDragStarted) {
2980
+ toggleClass(dragEl, putSortable ? putSortable.options.ghostClass : this.options.ghostClass, false);
2981
+ }
2982
+ toggleClass(dragEl, this.options.chosenClass, false);
2983
+ _dispatchEvent({
2984
+ sortable: this,
2985
+ name: "unchoose",
2986
+ toEl: parentEl,
2987
+ newIndex: null,
2988
+ newDraggableIndex: null,
2989
+ originalEvent: evt
2990
+ });
2991
+ if (rootEl !== parentEl) {
2992
+ if (newIndex >= 0) {
2993
+ _dispatchEvent({
2994
+ rootEl: parentEl,
2995
+ name: "add",
2996
+ toEl: parentEl,
2997
+ fromEl: rootEl,
2998
+ originalEvent: evt
2999
+ });
3000
+ _dispatchEvent({
3001
+ sortable: this,
3002
+ name: "remove",
3003
+ toEl: parentEl,
3004
+ originalEvent: evt
3005
+ });
3006
+ _dispatchEvent({
3007
+ rootEl: parentEl,
3008
+ name: "sort",
3009
+ toEl: parentEl,
3010
+ fromEl: rootEl,
3011
+ originalEvent: evt
3012
+ });
3013
+ _dispatchEvent({
3014
+ sortable: this,
3015
+ name: "sort",
3016
+ toEl: parentEl,
3017
+ originalEvent: evt
3018
+ });
3019
+ }
3020
+ putSortable && putSortable.save();
3021
+ } else {
3022
+ if (newIndex !== oldIndex) {
3023
+ if (newIndex >= 0) {
3024
+ _dispatchEvent({
3025
+ sortable: this,
3026
+ name: "update",
3027
+ toEl: parentEl,
3028
+ originalEvent: evt
3029
+ });
3030
+ _dispatchEvent({
3031
+ sortable: this,
3032
+ name: "sort",
3033
+ toEl: parentEl,
3034
+ originalEvent: evt
3035
+ });
3036
+ }
3037
+ }
3038
+ }
3039
+ if (Sortable.active) {
3040
+ if (newIndex == null || newIndex === -1) {
3041
+ newIndex = oldIndex;
3042
+ newDraggableIndex = oldDraggableIndex;
3043
+ }
3044
+ _dispatchEvent({
3045
+ sortable: this,
3046
+ name: "end",
3047
+ toEl: parentEl,
3048
+ originalEvent: evt
3049
+ });
3050
+ this.save();
3051
+ }
3052
+ }
3053
+ }
3054
+ this._nulling();
3055
+ },
3056
+ _nulling: function _nulling() {
3057
+ pluginEvent2("nulling", this);
3058
+ rootEl = dragEl = parentEl = ghostEl = nextEl = cloneEl = lastDownEl = cloneHidden = tapEvt = touchEvt = moved = newIndex = newDraggableIndex = oldIndex = oldDraggableIndex = lastTarget = lastDirection = putSortable = activeGroup = Sortable.dragged = Sortable.ghost = Sortable.clone = Sortable.active = null;
3059
+ savedInputChecked.forEach(function(el) {
3060
+ el.checked = true;
3061
+ });
3062
+ savedInputChecked.length = lastDx = lastDy = 0;
3063
+ },
3064
+ handleEvent: function handleEvent(evt) {
3065
+ switch (evt.type) {
3066
+ case "drop":
3067
+ case "dragend":
3068
+ this._onDrop(evt);
3069
+ break;
3070
+ case "dragenter":
3071
+ case "dragover":
3072
+ if (dragEl) {
3073
+ this._onDragOver(evt);
3074
+ _globalDragOver(evt);
3075
+ }
3076
+ break;
3077
+ case "selectstart":
3078
+ evt.preventDefault();
3079
+ break;
3080
+ }
3081
+ },
3082
+ /**
3083
+ * Serializes the item into an array of string.
3084
+ * @returns {String[]}
3085
+ */
3086
+ toArray: function toArray() {
3087
+ var order = [], el, children = this.el.children, i = 0, n = children.length, options = this.options;
3088
+ for (; i < n; i++) {
3089
+ el = children[i];
3090
+ if (closest(el, options.draggable, this.el, false)) {
3091
+ order.push(el.getAttribute(options.dataIdAttr) || _generateId(el));
3092
+ }
3093
+ }
3094
+ return order;
3095
+ },
3096
+ /**
3097
+ * Sorts the elements according to the array.
3098
+ * @param {String[]} order order of the items
3099
+ */
3100
+ sort: function sort(order, useAnimation) {
3101
+ var items = {}, rootEl2 = this.el;
3102
+ this.toArray().forEach(function(id, i) {
3103
+ var el = rootEl2.children[i];
3104
+ if (closest(el, this.options.draggable, rootEl2, false)) {
3105
+ items[id] = el;
3106
+ }
3107
+ }, this);
3108
+ useAnimation && this.captureAnimationState();
3109
+ order.forEach(function(id) {
3110
+ if (items[id]) {
3111
+ rootEl2.removeChild(items[id]);
3112
+ rootEl2.appendChild(items[id]);
3113
+ }
3114
+ });
3115
+ useAnimation && this.animateAll();
3116
+ },
3117
+ /**
3118
+ * Save the current sorting
3119
+ */
3120
+ save: function save() {
3121
+ var store = this.options.store;
3122
+ store && store.set && store.set(this);
3123
+ },
3124
+ /**
3125
+ * For each element in the set, get the first element that matches the selector by testing the element itself and traversing up through its ancestors in the DOM tree.
3126
+ * @param {HTMLElement} el
3127
+ * @param {String} [selector] default: `options.draggable`
3128
+ * @returns {HTMLElement|null}
3129
+ */
3130
+ closest: function closest$1(el, selector) {
3131
+ return closest(el, selector || this.options.draggable, this.el, false);
3132
+ },
3133
+ /**
3134
+ * Set/get option
3135
+ * @param {string} name
3136
+ * @param {*} [value]
3137
+ * @returns {*}
3138
+ */
3139
+ option: function option(name2, value) {
3140
+ var options = this.options;
3141
+ if (value === void 0) {
3142
+ return options[name2];
3143
+ } else {
3144
+ var modifiedValue = PluginManager.modifyOption(this, name2, value);
3145
+ if (typeof modifiedValue !== "undefined") {
3146
+ options[name2] = modifiedValue;
3147
+ } else {
3148
+ options[name2] = value;
3149
+ }
3150
+ if (name2 === "group") {
3151
+ _prepareGroup(options);
3152
+ }
3153
+ }
3154
+ },
3155
+ /**
3156
+ * Destroy
3157
+ */
3158
+ destroy: function destroy() {
3159
+ pluginEvent2("destroy", this);
3160
+ var el = this.el;
3161
+ el[expando] = null;
3162
+ off(el, "mousedown", this._onTapStart);
3163
+ off(el, "touchstart", this._onTapStart);
3164
+ off(el, "pointerdown", this._onTapStart);
3165
+ if (this.nativeDraggable) {
3166
+ off(el, "dragover", this);
3167
+ off(el, "dragenter", this);
3168
+ }
3169
+ Array.prototype.forEach.call(el.querySelectorAll("[draggable]"), function(el2) {
3170
+ el2.removeAttribute("draggable");
3171
+ });
3172
+ this._onDrop();
3173
+ this._disableDelayedDragEvents();
3174
+ sortables.splice(sortables.indexOf(this.el), 1);
3175
+ this.el = el = null;
3176
+ },
3177
+ _hideClone: function _hideClone() {
3178
+ if (!cloneHidden) {
3179
+ pluginEvent2("hideClone", this);
3180
+ if (Sortable.eventCanceled)
3181
+ return;
3182
+ css(cloneEl, "display", "none");
3183
+ if (this.options.removeCloneOnHide && cloneEl.parentNode) {
3184
+ cloneEl.parentNode.removeChild(cloneEl);
3185
+ }
3186
+ cloneHidden = true;
3187
+ }
3188
+ },
3189
+ _showClone: function _showClone(putSortable2) {
3190
+ if (putSortable2.lastPutMode !== "clone") {
3191
+ this._hideClone();
3192
+ return;
3193
+ }
3194
+ if (cloneHidden) {
3195
+ pluginEvent2("showClone", this);
3196
+ if (Sortable.eventCanceled)
3197
+ return;
3198
+ if (dragEl.parentNode == rootEl && !this.options.group.revertClone) {
3199
+ rootEl.insertBefore(cloneEl, dragEl);
3200
+ } else if (nextEl) {
3201
+ rootEl.insertBefore(cloneEl, nextEl);
3202
+ } else {
3203
+ rootEl.appendChild(cloneEl);
3204
+ }
3205
+ if (this.options.group.revertClone) {
3206
+ this.animate(dragEl, cloneEl);
3207
+ }
3208
+ css(cloneEl, "display", "");
3209
+ cloneHidden = false;
3210
+ }
3211
+ }
3212
+ };
3213
+ function _globalDragOver(evt) {
3214
+ if (evt.dataTransfer) {
3215
+ evt.dataTransfer.dropEffect = "move";
3216
+ }
3217
+ evt.cancelable && evt.preventDefault();
3218
+ }
3219
+ function _onMove(fromEl, toEl, dragEl2, dragRect, targetEl, targetRect, originalEvent, willInsertAfter) {
3220
+ var evt, sortable = fromEl[expando], onMoveFn = sortable.options.onMove, retVal;
3221
+ if (window.CustomEvent && !IE11OrLess && !Edge) {
3222
+ evt = new CustomEvent("move", {
3223
+ bubbles: true,
3224
+ cancelable: true
3225
+ });
3226
+ } else {
3227
+ evt = document.createEvent("Event");
3228
+ evt.initEvent("move", true, true);
3229
+ }
3230
+ evt.to = toEl;
3231
+ evt.from = fromEl;
3232
+ evt.dragged = dragEl2;
3233
+ evt.draggedRect = dragRect;
3234
+ evt.related = targetEl || toEl;
3235
+ evt.relatedRect = targetRect || getRect(toEl);
3236
+ evt.willInsertAfter = willInsertAfter;
3237
+ evt.originalEvent = originalEvent;
3238
+ fromEl.dispatchEvent(evt);
3239
+ if (onMoveFn) {
3240
+ retVal = onMoveFn.call(sortable, evt, originalEvent);
3241
+ }
3242
+ return retVal;
3243
+ }
3244
+ function _disableDraggable(el) {
3245
+ el.draggable = false;
3246
+ }
3247
+ function _unsilent() {
3248
+ _silent = false;
3249
+ }
3250
+ function _ghostIsFirst(evt, vertical, sortable) {
3251
+ var firstElRect = getRect(getChild(sortable.el, 0, sortable.options, true));
3252
+ var childContainingRect = getChildContainingRectFromElement(sortable.el, sortable.options, ghostEl);
3253
+ var spacer = 10;
3254
+ return vertical ? evt.clientX < childContainingRect.left - spacer || evt.clientY < firstElRect.top && evt.clientX < firstElRect.right : evt.clientY < childContainingRect.top - spacer || evt.clientY < firstElRect.bottom && evt.clientX < firstElRect.left;
3255
+ }
3256
+ function _ghostIsLast(evt, vertical, sortable) {
3257
+ var lastElRect = getRect(lastChild(sortable.el, sortable.options.draggable));
3258
+ var childContainingRect = getChildContainingRectFromElement(sortable.el, sortable.options, ghostEl);
3259
+ var spacer = 10;
3260
+ return vertical ? evt.clientX > childContainingRect.right + spacer || evt.clientY > lastElRect.bottom && evt.clientX > lastElRect.left : evt.clientY > childContainingRect.bottom + spacer || evt.clientX > lastElRect.right && evt.clientY > lastElRect.top;
3261
+ }
3262
+ function _getSwapDirection(evt, target, targetRect, vertical, swapThreshold, invertedSwapThreshold, invertSwap, isLastTarget) {
3263
+ var mouseOnAxis = vertical ? evt.clientY : evt.clientX, targetLength = vertical ? targetRect.height : targetRect.width, targetS1 = vertical ? targetRect.top : targetRect.left, targetS2 = vertical ? targetRect.bottom : targetRect.right, invert = false;
3264
+ if (!invertSwap) {
3265
+ if (isLastTarget && targetMoveDistance < targetLength * swapThreshold) {
3266
+ if (!pastFirstInvertThresh && (lastDirection === 1 ? mouseOnAxis > targetS1 + targetLength * invertedSwapThreshold / 2 : mouseOnAxis < targetS2 - targetLength * invertedSwapThreshold / 2)) {
3267
+ pastFirstInvertThresh = true;
3268
+ }
3269
+ if (!pastFirstInvertThresh) {
3270
+ if (lastDirection === 1 ? mouseOnAxis < targetS1 + targetMoveDistance : mouseOnAxis > targetS2 - targetMoveDistance) {
3271
+ return -lastDirection;
3272
+ }
3273
+ } else {
3274
+ invert = true;
3275
+ }
3276
+ } else {
3277
+ if (mouseOnAxis > targetS1 + targetLength * (1 - swapThreshold) / 2 && mouseOnAxis < targetS2 - targetLength * (1 - swapThreshold) / 2) {
3278
+ return _getInsertDirection(target);
3279
+ }
3280
+ }
3281
+ }
3282
+ invert = invert || invertSwap;
3283
+ if (invert) {
3284
+ if (mouseOnAxis < targetS1 + targetLength * invertedSwapThreshold / 2 || mouseOnAxis > targetS2 - targetLength * invertedSwapThreshold / 2) {
3285
+ return mouseOnAxis > targetS1 + targetLength / 2 ? 1 : -1;
3286
+ }
3287
+ }
3288
+ return 0;
3289
+ }
3290
+ function _getInsertDirection(target) {
3291
+ if (index(dragEl) < index(target)) {
3292
+ return 1;
3293
+ } else {
3294
+ return -1;
3295
+ }
3296
+ }
3297
+ function _generateId(el) {
3298
+ var str = el.tagName + el.className + el.src + el.href + el.textContent, i = str.length, sum = 0;
3299
+ while (i--) {
3300
+ sum += str.charCodeAt(i);
3301
+ }
3302
+ return sum.toString(36);
3303
+ }
3304
+ function _saveInputCheckedState(root2) {
3305
+ savedInputChecked.length = 0;
3306
+ var inputs = root2.getElementsByTagName("input");
3307
+ var idx = inputs.length;
3308
+ while (idx--) {
3309
+ var el = inputs[idx];
3310
+ el.checked && savedInputChecked.push(el);
3311
+ }
3312
+ }
3313
+ function _nextTick(fn) {
3314
+ return setTimeout(fn, 0);
3315
+ }
3316
+ function _cancelNextTick(id) {
3317
+ return clearTimeout(id);
3318
+ }
3319
+ if (documentExists) {
3320
+ on(document, "touchmove", function(evt) {
3321
+ if ((Sortable.active || awaitingDragStarted) && evt.cancelable) {
3322
+ evt.preventDefault();
3323
+ }
3324
+ });
3325
+ }
3326
+ Sortable.utils = {
3327
+ on,
3328
+ off,
3329
+ css,
3330
+ find,
3331
+ is: function is(el, selector) {
3332
+ return !!closest(el, selector, el, false);
3333
+ },
3334
+ extend,
3335
+ throttle,
3336
+ closest,
3337
+ toggleClass,
3338
+ clone,
3339
+ index,
3340
+ nextTick: _nextTick,
3341
+ cancelNextTick: _cancelNextTick,
3342
+ detectDirection: _detectDirection,
3343
+ getChild,
3344
+ expando
3345
+ };
3346
+ Sortable.get = function(element) {
3347
+ return element[expando];
3348
+ };
3349
+ Sortable.mount = function() {
3350
+ for (var _len = arguments.length, plugins2 = new Array(_len), _key = 0; _key < _len; _key++) {
3351
+ plugins2[_key] = arguments[_key];
3352
+ }
3353
+ if (plugins2[0].constructor === Array)
3354
+ plugins2 = plugins2[0];
3355
+ plugins2.forEach(function(plugin) {
3356
+ if (!plugin.prototype || !plugin.prototype.constructor) {
3357
+ throw "Sortable: Mounted plugin must be a constructor function, not ".concat({}.toString.call(plugin));
3358
+ }
3359
+ if (plugin.utils)
3360
+ Sortable.utils = _objectSpread2(_objectSpread2({}, Sortable.utils), plugin.utils);
3361
+ PluginManager.mount(plugin);
3362
+ });
3363
+ };
3364
+ Sortable.create = function(el, options) {
3365
+ return new Sortable(el, options);
3366
+ };
3367
+ Sortable.version = version;
3368
+ var autoScrolls = [], scrollEl, scrollRootEl, scrolling = false, lastAutoScrollX, lastAutoScrollY, touchEvt$1, pointerElemChangedInterval;
3369
+ function AutoScrollPlugin() {
3370
+ function AutoScroll() {
3371
+ this.defaults = {
3372
+ scroll: true,
3373
+ forceAutoScrollFallback: false,
3374
+ scrollSensitivity: 30,
3375
+ scrollSpeed: 10,
3376
+ bubbleScroll: true
3377
+ };
3378
+ for (var fn in this) {
3379
+ if (fn.charAt(0) === "_" && typeof this[fn] === "function") {
3380
+ this[fn] = this[fn].bind(this);
3381
+ }
3382
+ }
3383
+ }
3384
+ AutoScroll.prototype = {
3385
+ dragStarted: function dragStarted(_ref) {
3386
+ var originalEvent = _ref.originalEvent;
3387
+ if (this.sortable.nativeDraggable) {
3388
+ on(document, "dragover", this._handleAutoScroll);
3389
+ } else {
3390
+ if (this.options.supportPointer) {
3391
+ on(document, "pointermove", this._handleFallbackAutoScroll);
3392
+ } else if (originalEvent.touches) {
3393
+ on(document, "touchmove", this._handleFallbackAutoScroll);
3394
+ } else {
3395
+ on(document, "mousemove", this._handleFallbackAutoScroll);
3396
+ }
3397
+ }
3398
+ },
3399
+ dragOverCompleted: function dragOverCompleted(_ref2) {
3400
+ var originalEvent = _ref2.originalEvent;
3401
+ if (!this.options.dragOverBubble && !originalEvent.rootEl) {
3402
+ this._handleAutoScroll(originalEvent);
3403
+ }
3404
+ },
3405
+ drop: function drop3() {
3406
+ if (this.sortable.nativeDraggable) {
3407
+ off(document, "dragover", this._handleAutoScroll);
3408
+ } else {
3409
+ off(document, "pointermove", this._handleFallbackAutoScroll);
3410
+ off(document, "touchmove", this._handleFallbackAutoScroll);
3411
+ off(document, "mousemove", this._handleFallbackAutoScroll);
3412
+ }
3413
+ clearPointerElemChangedInterval();
3414
+ clearAutoScrolls();
3415
+ cancelThrottle();
3416
+ },
3417
+ nulling: function nulling() {
3418
+ touchEvt$1 = scrollRootEl = scrollEl = scrolling = pointerElemChangedInterval = lastAutoScrollX = lastAutoScrollY = null;
3419
+ autoScrolls.length = 0;
3420
+ },
3421
+ _handleFallbackAutoScroll: function _handleFallbackAutoScroll(evt) {
3422
+ this._handleAutoScroll(evt, true);
3423
+ },
3424
+ _handleAutoScroll: function _handleAutoScroll(evt, fallback) {
3425
+ var _this = this;
3426
+ var x = (evt.touches ? evt.touches[0] : evt).clientX, y = (evt.touches ? evt.touches[0] : evt).clientY, elem = document.elementFromPoint(x, y);
3427
+ touchEvt$1 = evt;
3428
+ if (fallback || this.options.forceAutoScrollFallback || Edge || IE11OrLess || Safari) {
3429
+ autoScroll(evt, this.options, elem, fallback);
3430
+ var ogElemScroller = getParentAutoScrollElement(elem, true);
3431
+ if (scrolling && (!pointerElemChangedInterval || x !== lastAutoScrollX || y !== lastAutoScrollY)) {
3432
+ pointerElemChangedInterval && clearPointerElemChangedInterval();
3433
+ pointerElemChangedInterval = setInterval(function() {
3434
+ var newElem = getParentAutoScrollElement(document.elementFromPoint(x, y), true);
3435
+ if (newElem !== ogElemScroller) {
3436
+ ogElemScroller = newElem;
3437
+ clearAutoScrolls();
3438
+ }
3439
+ autoScroll(evt, _this.options, newElem, fallback);
3440
+ }, 10);
3441
+ lastAutoScrollX = x;
3442
+ lastAutoScrollY = y;
3443
+ }
3444
+ } else {
3445
+ if (!this.options.bubbleScroll || getParentAutoScrollElement(elem, true) === getWindowScrollingElement()) {
3446
+ clearAutoScrolls();
3447
+ return;
3448
+ }
3449
+ autoScroll(evt, this.options, getParentAutoScrollElement(elem, false), false);
3450
+ }
3451
+ }
3452
+ };
3453
+ return _extends(AutoScroll, {
3454
+ pluginName: "scroll",
3455
+ initializeByDefault: true
3456
+ });
3457
+ }
3458
+ function clearAutoScrolls() {
3459
+ autoScrolls.forEach(function(autoScroll2) {
3460
+ clearInterval(autoScroll2.pid);
3461
+ });
3462
+ autoScrolls = [];
3463
+ }
3464
+ function clearPointerElemChangedInterval() {
3465
+ clearInterval(pointerElemChangedInterval);
3466
+ }
3467
+ var autoScroll = throttle(function(evt, options, rootEl2, isFallback) {
3468
+ if (!options.scroll)
3469
+ return;
3470
+ var x = (evt.touches ? evt.touches[0] : evt).clientX, y = (evt.touches ? evt.touches[0] : evt).clientY, sens = options.scrollSensitivity, speed = options.scrollSpeed, winScroller = getWindowScrollingElement();
3471
+ var scrollThisInstance = false, scrollCustomFn;
3472
+ if (scrollRootEl !== rootEl2) {
3473
+ scrollRootEl = rootEl2;
3474
+ clearAutoScrolls();
3475
+ scrollEl = options.scroll;
3476
+ scrollCustomFn = options.scrollFn;
3477
+ if (scrollEl === true) {
3478
+ scrollEl = getParentAutoScrollElement(rootEl2, true);
3479
+ }
3480
+ }
3481
+ var layersOut = 0;
3482
+ var currentParent = scrollEl;
3483
+ do {
3484
+ var el = currentParent, rect = getRect(el), top = rect.top, bottom = rect.bottom, left = rect.left, right = rect.right, width = rect.width, height = rect.height, canScrollX = void 0, canScrollY = void 0, scrollWidth = el.scrollWidth, scrollHeight = el.scrollHeight, elCSS = css(el), scrollPosX = el.scrollLeft, scrollPosY = el.scrollTop;
3485
+ if (el === winScroller) {
3486
+ canScrollX = width < scrollWidth && (elCSS.overflowX === "auto" || elCSS.overflowX === "scroll" || elCSS.overflowX === "visible");
3487
+ canScrollY = height < scrollHeight && (elCSS.overflowY === "auto" || elCSS.overflowY === "scroll" || elCSS.overflowY === "visible");
3488
+ } else {
3489
+ canScrollX = width < scrollWidth && (elCSS.overflowX === "auto" || elCSS.overflowX === "scroll");
3490
+ canScrollY = height < scrollHeight && (elCSS.overflowY === "auto" || elCSS.overflowY === "scroll");
3491
+ }
3492
+ var vx = canScrollX && (Math.abs(right - x) <= sens && scrollPosX + width < scrollWidth) - (Math.abs(left - x) <= sens && !!scrollPosX);
3493
+ var vy = canScrollY && (Math.abs(bottom - y) <= sens && scrollPosY + height < scrollHeight) - (Math.abs(top - y) <= sens && !!scrollPosY);
3494
+ if (!autoScrolls[layersOut]) {
3495
+ for (var i = 0; i <= layersOut; i++) {
3496
+ if (!autoScrolls[i]) {
3497
+ autoScrolls[i] = {};
3498
+ }
3499
+ }
3500
+ }
3501
+ if (autoScrolls[layersOut].vx != vx || autoScrolls[layersOut].vy != vy || autoScrolls[layersOut].el !== el) {
3502
+ autoScrolls[layersOut].el = el;
3503
+ autoScrolls[layersOut].vx = vx;
3504
+ autoScrolls[layersOut].vy = vy;
3505
+ clearInterval(autoScrolls[layersOut].pid);
3506
+ if (vx != 0 || vy != 0) {
3507
+ scrollThisInstance = true;
3508
+ autoScrolls[layersOut].pid = setInterval((function() {
3509
+ if (isFallback && this.layer === 0) {
3510
+ Sortable.active._onTouchMove(touchEvt$1);
3511
+ }
3512
+ var scrollOffsetY = autoScrolls[this.layer].vy ? autoScrolls[this.layer].vy * speed : 0;
3513
+ var scrollOffsetX = autoScrolls[this.layer].vx ? autoScrolls[this.layer].vx * speed : 0;
3514
+ if (typeof scrollCustomFn === "function") {
3515
+ if (scrollCustomFn.call(Sortable.dragged.parentNode[expando], scrollOffsetX, scrollOffsetY, evt, touchEvt$1, autoScrolls[this.layer].el) !== "continue") {
3516
+ return;
3517
+ }
3518
+ }
3519
+ scrollBy(autoScrolls[this.layer].el, scrollOffsetX, scrollOffsetY);
3520
+ }).bind({
3521
+ layer: layersOut
3522
+ }), 24);
3523
+ }
3524
+ }
3525
+ layersOut++;
3526
+ } while (options.bubbleScroll && currentParent !== winScroller && (currentParent = getParentAutoScrollElement(currentParent, false)));
3527
+ scrolling = scrollThisInstance;
3528
+ }, 30);
3529
+ var drop = function drop2(_ref) {
3530
+ var originalEvent = _ref.originalEvent, putSortable2 = _ref.putSortable, dragEl2 = _ref.dragEl, activeSortable = _ref.activeSortable, dispatchSortableEvent = _ref.dispatchSortableEvent, hideGhostForTarget = _ref.hideGhostForTarget, unhideGhostForTarget = _ref.unhideGhostForTarget;
3531
+ if (!originalEvent)
3532
+ return;
3533
+ var toSortable = putSortable2 || activeSortable;
3534
+ hideGhostForTarget();
3535
+ var touch = originalEvent.changedTouches && originalEvent.changedTouches.length ? originalEvent.changedTouches[0] : originalEvent;
3536
+ var target = document.elementFromPoint(touch.clientX, touch.clientY);
3537
+ unhideGhostForTarget();
3538
+ if (toSortable && !toSortable.el.contains(target)) {
3539
+ dispatchSortableEvent("spill");
3540
+ this.onSpill({
3541
+ dragEl: dragEl2,
3542
+ putSortable: putSortable2
3543
+ });
3544
+ }
3545
+ };
3546
+ function Revert() {
3547
+ }
3548
+ Revert.prototype = {
3549
+ startIndex: null,
3550
+ dragStart: function dragStart(_ref2) {
3551
+ var oldDraggableIndex2 = _ref2.oldDraggableIndex;
3552
+ this.startIndex = oldDraggableIndex2;
3553
+ },
3554
+ onSpill: function onSpill(_ref3) {
3555
+ var dragEl2 = _ref3.dragEl, putSortable2 = _ref3.putSortable;
3556
+ this.sortable.captureAnimationState();
3557
+ if (putSortable2) {
3558
+ putSortable2.captureAnimationState();
3559
+ }
3560
+ var nextSibling = getChild(this.sortable.el, this.startIndex, this.options);
3561
+ if (nextSibling) {
3562
+ this.sortable.el.insertBefore(dragEl2, nextSibling);
3563
+ } else {
3564
+ this.sortable.el.appendChild(dragEl2);
3565
+ }
3566
+ this.sortable.animateAll();
3567
+ if (putSortable2) {
3568
+ putSortable2.animateAll();
3569
+ }
3570
+ },
3571
+ drop
3572
+ };
3573
+ _extends(Revert, {
3574
+ pluginName: "revertOnSpill"
3575
+ });
3576
+ function Remove() {
3577
+ }
3578
+ Remove.prototype = {
3579
+ onSpill: function onSpill2(_ref4) {
3580
+ var dragEl2 = _ref4.dragEl, putSortable2 = _ref4.putSortable;
3581
+ var parentSortable = putSortable2 || this.sortable;
3582
+ parentSortable.captureAnimationState();
3583
+ dragEl2.parentNode && dragEl2.parentNode.removeChild(dragEl2);
3584
+ parentSortable.animateAll();
3585
+ },
3586
+ drop
3587
+ };
3588
+ _extends(Remove, {
3589
+ pluginName: "removeOnSpill"
3590
+ });
3591
+ Sortable.mount(new AutoScrollPlugin());
3592
+ Sortable.mount(Remove, Revert);
3593
+ var toString = toString_1;
3594
+ var idCounter = 0;
3595
+ function uniqueId(prefix) {
3596
+ var id = ++idCounter;
3597
+ return toString(prefix) + id;
3598
+ }
3599
+ var uniqueId_1 = uniqueId;
3600
+ const uniqueId$1 = /* @__PURE__ */ getDefaultExportFromCjs(uniqueId_1);
3601
+ const byteToHex = [];
3602
+ for (let i = 0; i < 256; ++i) {
3603
+ byteToHex.push((i + 256).toString(16).slice(1));
3604
+ }
3605
+ function unsafeStringify(arr, offset = 0) {
3606
+ return (byteToHex[arr[offset + 0]] + byteToHex[arr[offset + 1]] + byteToHex[arr[offset + 2]] + byteToHex[arr[offset + 3]] + "-" + byteToHex[arr[offset + 4]] + byteToHex[arr[offset + 5]] + "-" + byteToHex[arr[offset + 6]] + byteToHex[arr[offset + 7]] + "-" + byteToHex[arr[offset + 8]] + byteToHex[arr[offset + 9]] + "-" + byteToHex[arr[offset + 10]] + byteToHex[arr[offset + 11]] + byteToHex[arr[offset + 12]] + byteToHex[arr[offset + 13]] + byteToHex[arr[offset + 14]] + byteToHex[arr[offset + 15]]).toLowerCase();
3607
+ }
3608
+ let getRandomValues;
3609
+ const rnds8 = new Uint8Array(16);
3610
+ function rng() {
3611
+ if (!getRandomValues) {
3612
+ if (typeof crypto === "undefined" || !crypto.getRandomValues) {
3613
+ throw new Error("crypto.getRandomValues() not supported. See https://github.com/uuidjs/uuid#getrandomvalues-not-supported");
3614
+ }
3615
+ getRandomValues = crypto.getRandomValues.bind(crypto);
3616
+ }
3617
+ return getRandomValues(rnds8);
3618
+ }
3619
+ const randomUUID = typeof crypto !== "undefined" && crypto.randomUUID && crypto.randomUUID.bind(crypto);
3620
+ const native = { randomUUID };
3621
+ function v4(options, buf, offset) {
3622
+ if (native.randomUUID && !buf && !options) {
3623
+ return native.randomUUID();
3624
+ }
3625
+ options = options || {};
3626
+ const rnds = options.random || (options.rng || rng)();
3627
+ rnds[6] = rnds[6] & 15 | 64;
3628
+ rnds[8] = rnds[8] & 63 | 128;
3629
+ if (buf) {
3630
+ offset = offset || 0;
3631
+ for (let i = 0; i < 16; ++i) {
3632
+ buf[offset + i] = rnds[i];
3633
+ }
3634
+ return buf;
3635
+ }
3636
+ return unsafeStringify(rnds);
3637
+ }
3638
+ var baseKeys = _baseKeys, getTag$1 = _getTag, isArguments = isArguments_1, isArray$3 = isArray_1, isArrayLike$2 = isArrayLike_1, isBuffer$1 = isBufferExports, isPrototype = _isPrototype, isTypedArray$1 = isTypedArray_1;
3639
+ var mapTag$1 = "[object Map]", setTag$1 = "[object Set]";
3640
+ var objectProto$2 = Object.prototype;
3641
+ var hasOwnProperty$2 = objectProto$2.hasOwnProperty;
3642
+ function isEmpty(value) {
3643
+ if (value == null) {
3644
+ return true;
3645
+ }
3646
+ if (isArrayLike$2(value) && (isArray$3(value) || typeof value == "string" || typeof value.splice == "function" || isBuffer$1(value) || isTypedArray$1(value) || isArguments(value))) {
3647
+ return !value.length;
3648
+ }
3649
+ var tag = getTag$1(value);
3650
+ if (tag == mapTag$1 || tag == setTag$1) {
3651
+ return !value.size;
3652
+ }
3653
+ if (isPrototype(value)) {
3654
+ return !baseKeys(value).length;
3655
+ }
3656
+ for (var key in value) {
3657
+ if (hasOwnProperty$2.call(value, key)) {
3658
+ return false;
3659
+ }
3660
+ }
3661
+ return true;
3662
+ }
3663
+ var isEmpty_1 = isEmpty;
3664
+ const isEmpty$1 = /* @__PURE__ */ getDefaultExportFromCjs(isEmpty_1);
3665
+ var HASH_UNDEFINED = "__lodash_hash_undefined__";
3666
+ function setCacheAdd$1(value) {
3667
+ this.__data__.set(value, HASH_UNDEFINED);
3668
+ return this;
3669
+ }
3670
+ var _setCacheAdd = setCacheAdd$1;
3671
+ function setCacheHas$1(value) {
3672
+ return this.__data__.has(value);
3673
+ }
3674
+ var _setCacheHas = setCacheHas$1;
3675
+ var MapCache = _MapCache, setCacheAdd = _setCacheAdd, setCacheHas = _setCacheHas;
3676
+ function SetCache$1(values) {
3677
+ var index2 = -1, length = values == null ? 0 : values.length;
3678
+ this.__data__ = new MapCache();
3679
+ while (++index2 < length) {
3680
+ this.add(values[index2]);
3681
+ }
3682
+ }
3683
+ SetCache$1.prototype.add = SetCache$1.prototype.push = setCacheAdd;
3684
+ SetCache$1.prototype.has = setCacheHas;
3685
+ var _SetCache = SetCache$1;
3686
+ function arraySome$1(array, predicate) {
3687
+ var index2 = -1, length = array == null ? 0 : array.length;
3688
+ while (++index2 < length) {
3689
+ if (predicate(array[index2], index2, array)) {
3690
+ return true;
3691
+ }
3692
+ }
3693
+ return false;
3694
+ }
3695
+ var _arraySome = arraySome$1;
3696
+ function cacheHas$1(cache, key) {
3697
+ return cache.has(key);
3698
+ }
3699
+ var _cacheHas = cacheHas$1;
3700
+ var SetCache = _SetCache, arraySome = _arraySome, cacheHas = _cacheHas;
3701
+ var COMPARE_PARTIAL_FLAG$5 = 1, COMPARE_UNORDERED_FLAG$3 = 2;
3702
+ function equalArrays$2(array, other, bitmask, customizer, equalFunc, stack) {
3703
+ var isPartial = bitmask & COMPARE_PARTIAL_FLAG$5, arrLength = array.length, othLength = other.length;
3704
+ if (arrLength != othLength && !(isPartial && othLength > arrLength)) {
3705
+ return false;
3706
+ }
3707
+ var arrStacked = stack.get(array);
3708
+ var othStacked = stack.get(other);
3709
+ if (arrStacked && othStacked) {
3710
+ return arrStacked == other && othStacked == array;
3711
+ }
3712
+ var index2 = -1, result = true, seen = bitmask & COMPARE_UNORDERED_FLAG$3 ? new SetCache() : void 0;
3713
+ stack.set(array, other);
3714
+ stack.set(other, array);
3715
+ while (++index2 < arrLength) {
3716
+ var arrValue = array[index2], othValue = other[index2];
3717
+ if (customizer) {
3718
+ var compared = isPartial ? customizer(othValue, arrValue, index2, other, array, stack) : customizer(arrValue, othValue, index2, array, other, stack);
3719
+ }
3720
+ if (compared !== void 0) {
3721
+ if (compared) {
3722
+ continue;
3723
+ }
3724
+ result = false;
3725
+ break;
3726
+ }
3727
+ if (seen) {
3728
+ if (!arraySome(other, function(othValue2, othIndex) {
3729
+ if (!cacheHas(seen, othIndex) && (arrValue === othValue2 || equalFunc(arrValue, othValue2, bitmask, customizer, stack))) {
3730
+ return seen.push(othIndex);
3731
+ }
3732
+ })) {
3733
+ result = false;
3734
+ break;
3735
+ }
3736
+ } else if (!(arrValue === othValue || equalFunc(arrValue, othValue, bitmask, customizer, stack))) {
3737
+ result = false;
3738
+ break;
3739
+ }
3740
+ }
3741
+ stack["delete"](array);
3742
+ stack["delete"](other);
3743
+ return result;
3744
+ }
3745
+ var _equalArrays = equalArrays$2;
3746
+ function mapToArray$1(map2) {
3747
+ var index2 = -1, result = Array(map2.size);
3748
+ map2.forEach(function(value, key) {
3749
+ result[++index2] = [key, value];
3750
+ });
3751
+ return result;
3752
+ }
3753
+ var _mapToArray = mapToArray$1;
3754
+ function setToArray$1(set) {
3755
+ var index2 = -1, result = Array(set.size);
3756
+ set.forEach(function(value) {
3757
+ result[++index2] = value;
3758
+ });
3759
+ return result;
3760
+ }
3761
+ var _setToArray = setToArray$1;
3762
+ var Symbol$1 = _Symbol, Uint8Array$1 = _Uint8Array, eq = eq_1, equalArrays$1 = _equalArrays, mapToArray = _mapToArray, setToArray = _setToArray;
3763
+ var COMPARE_PARTIAL_FLAG$4 = 1, COMPARE_UNORDERED_FLAG$2 = 2;
3764
+ var boolTag = "[object Boolean]", dateTag = "[object Date]", errorTag = "[object Error]", mapTag = "[object Map]", numberTag = "[object Number]", regexpTag = "[object RegExp]", setTag = "[object Set]", stringTag = "[object String]", symbolTag = "[object Symbol]";
3765
+ var arrayBufferTag = "[object ArrayBuffer]", dataViewTag = "[object DataView]";
3766
+ var symbolProto = Symbol$1 ? Symbol$1.prototype : void 0, symbolValueOf = symbolProto ? symbolProto.valueOf : void 0;
3767
+ function equalByTag$1(object, other, tag, bitmask, customizer, equalFunc, stack) {
3768
+ switch (tag) {
3769
+ case dataViewTag:
3770
+ if (object.byteLength != other.byteLength || object.byteOffset != other.byteOffset) {
3771
+ return false;
3772
+ }
3773
+ object = object.buffer;
3774
+ other = other.buffer;
3775
+ case arrayBufferTag:
3776
+ if (object.byteLength != other.byteLength || !equalFunc(new Uint8Array$1(object), new Uint8Array$1(other))) {
3777
+ return false;
3778
+ }
3779
+ return true;
3780
+ case boolTag:
3781
+ case dateTag:
3782
+ case numberTag:
3783
+ return eq(+object, +other);
3784
+ case errorTag:
3785
+ return object.name == other.name && object.message == other.message;
3786
+ case regexpTag:
3787
+ case stringTag:
3788
+ return object == other + "";
3789
+ case mapTag:
3790
+ var convert = mapToArray;
3791
+ case setTag:
3792
+ var isPartial = bitmask & COMPARE_PARTIAL_FLAG$4;
3793
+ convert || (convert = setToArray);
3794
+ if (object.size != other.size && !isPartial) {
3795
+ return false;
3796
+ }
3797
+ var stacked = stack.get(object);
3798
+ if (stacked) {
3799
+ return stacked == other;
3800
+ }
3801
+ bitmask |= COMPARE_UNORDERED_FLAG$2;
3802
+ stack.set(object, other);
3803
+ var result = equalArrays$1(convert(object), convert(other), bitmask, customizer, equalFunc, stack);
3804
+ stack["delete"](object);
3805
+ return result;
3806
+ case symbolTag:
3807
+ if (symbolValueOf) {
3808
+ return symbolValueOf.call(object) == symbolValueOf.call(other);
3809
+ }
3810
+ }
3811
+ return false;
3812
+ }
3813
+ var _equalByTag = equalByTag$1;
3814
+ var getAllKeys = _getAllKeys;
3815
+ var COMPARE_PARTIAL_FLAG$3 = 1;
3816
+ var objectProto$1 = Object.prototype;
3817
+ var hasOwnProperty$1 = objectProto$1.hasOwnProperty;
3818
+ function equalObjects$1(object, other, bitmask, customizer, equalFunc, stack) {
3819
+ var isPartial = bitmask & COMPARE_PARTIAL_FLAG$3, objProps = getAllKeys(object), objLength = objProps.length, othProps = getAllKeys(other), othLength = othProps.length;
3820
+ if (objLength != othLength && !isPartial) {
3821
+ return false;
3822
+ }
3823
+ var index2 = objLength;
3824
+ while (index2--) {
3825
+ var key = objProps[index2];
3826
+ if (!(isPartial ? key in other : hasOwnProperty$1.call(other, key))) {
3827
+ return false;
3828
+ }
3829
+ }
3830
+ var objStacked = stack.get(object);
3831
+ var othStacked = stack.get(other);
3832
+ if (objStacked && othStacked) {
3833
+ return objStacked == other && othStacked == object;
3834
+ }
3835
+ var result = true;
3836
+ stack.set(object, other);
3837
+ stack.set(other, object);
3838
+ var skipCtor = isPartial;
3839
+ while (++index2 < objLength) {
3840
+ key = objProps[index2];
3841
+ var objValue = object[key], othValue = other[key];
3842
+ if (customizer) {
3843
+ var compared = isPartial ? customizer(othValue, objValue, key, other, object, stack) : customizer(objValue, othValue, key, object, other, stack);
3844
+ }
3845
+ if (!(compared === void 0 ? objValue === othValue || equalFunc(objValue, othValue, bitmask, customizer, stack) : compared)) {
3846
+ result = false;
3847
+ break;
3848
+ }
3849
+ skipCtor || (skipCtor = key == "constructor");
3850
+ }
3851
+ if (result && !skipCtor) {
3852
+ var objCtor = object.constructor, othCtor = other.constructor;
3853
+ if (objCtor != othCtor && ("constructor" in object && "constructor" in other) && !(typeof objCtor == "function" && objCtor instanceof objCtor && typeof othCtor == "function" && othCtor instanceof othCtor)) {
3854
+ result = false;
3855
+ }
3856
+ }
3857
+ stack["delete"](object);
3858
+ stack["delete"](other);
3859
+ return result;
3860
+ }
3861
+ var _equalObjects = equalObjects$1;
3862
+ var Stack$1 = _Stack, equalArrays = _equalArrays, equalByTag = _equalByTag, equalObjects = _equalObjects, getTag = _getTag, isArray$2 = isArray_1, isBuffer = isBufferExports, isTypedArray = isTypedArray_1;
3863
+ var COMPARE_PARTIAL_FLAG$2 = 1;
3864
+ var argsTag = "[object Arguments]", arrayTag = "[object Array]", objectTag = "[object Object]";
3865
+ var objectProto = Object.prototype;
3866
+ var hasOwnProperty = objectProto.hasOwnProperty;
3867
+ function baseIsEqualDeep$1(object, other, bitmask, customizer, equalFunc, stack) {
3868
+ var objIsArr = isArray$2(object), othIsArr = isArray$2(other), objTag = objIsArr ? arrayTag : getTag(object), othTag = othIsArr ? arrayTag : getTag(other);
3869
+ objTag = objTag == argsTag ? objectTag : objTag;
3870
+ othTag = othTag == argsTag ? objectTag : othTag;
3871
+ var objIsObj = objTag == objectTag, othIsObj = othTag == objectTag, isSameTag = objTag == othTag;
3872
+ if (isSameTag && isBuffer(object)) {
3873
+ if (!isBuffer(other)) {
3874
+ return false;
3875
+ }
3876
+ objIsArr = true;
3877
+ objIsObj = false;
3878
+ }
3879
+ if (isSameTag && !objIsObj) {
3880
+ stack || (stack = new Stack$1());
3881
+ return objIsArr || isTypedArray(object) ? equalArrays(object, other, bitmask, customizer, equalFunc, stack) : equalByTag(object, other, objTag, bitmask, customizer, equalFunc, stack);
3882
+ }
3883
+ if (!(bitmask & COMPARE_PARTIAL_FLAG$2)) {
3884
+ var objIsWrapped = objIsObj && hasOwnProperty.call(object, "__wrapped__"), othIsWrapped = othIsObj && hasOwnProperty.call(other, "__wrapped__");
3885
+ if (objIsWrapped || othIsWrapped) {
3886
+ var objUnwrapped = objIsWrapped ? object.value() : object, othUnwrapped = othIsWrapped ? other.value() : other;
3887
+ stack || (stack = new Stack$1());
3888
+ return equalFunc(objUnwrapped, othUnwrapped, bitmask, customizer, stack);
3889
+ }
3890
+ }
3891
+ if (!isSameTag) {
3892
+ return false;
3893
+ }
3894
+ stack || (stack = new Stack$1());
3895
+ return equalObjects(object, other, bitmask, customizer, equalFunc, stack);
3896
+ }
3897
+ var _baseIsEqualDeep = baseIsEqualDeep$1;
3898
+ var baseIsEqualDeep = _baseIsEqualDeep, isObjectLike = isObjectLike_1;
3899
+ function baseIsEqual$2(value, other, bitmask, customizer, stack) {
3900
+ if (value === other) {
3901
+ return true;
3902
+ }
3903
+ if (value == null || other == null || !isObjectLike(value) && !isObjectLike(other)) {
3904
+ return value !== value && other !== other;
3905
+ }
3906
+ return baseIsEqualDeep(value, other, bitmask, customizer, baseIsEqual$2, stack);
3907
+ }
3908
+ var _baseIsEqual = baseIsEqual$2;
3909
+ var Stack = _Stack, baseIsEqual$1 = _baseIsEqual;
3910
+ var COMPARE_PARTIAL_FLAG$1 = 1, COMPARE_UNORDERED_FLAG$1 = 2;
3911
+ function baseIsMatch$1(object, source, matchData, customizer) {
3912
+ var index2 = matchData.length, length = index2, noCustomizer = !customizer;
3913
+ if (object == null) {
3914
+ return !length;
3915
+ }
3916
+ object = Object(object);
3917
+ while (index2--) {
3918
+ var data = matchData[index2];
3919
+ if (noCustomizer && data[2] ? data[1] !== object[data[0]] : !(data[0] in object)) {
3920
+ return false;
3921
+ }
3922
+ }
3923
+ while (++index2 < length) {
3924
+ data = matchData[index2];
3925
+ var key = data[0], objValue = object[key], srcValue = data[1];
3926
+ if (noCustomizer && data[2]) {
3927
+ if (objValue === void 0 && !(key in object)) {
3928
+ return false;
3929
+ }
3930
+ } else {
3931
+ var stack = new Stack();
3932
+ if (customizer) {
3933
+ var result = customizer(objValue, srcValue, key, object, source, stack);
3934
+ }
3935
+ if (!(result === void 0 ? baseIsEqual$1(srcValue, objValue, COMPARE_PARTIAL_FLAG$1 | COMPARE_UNORDERED_FLAG$1, customizer, stack) : result)) {
3936
+ return false;
3937
+ }
3938
+ }
3939
+ }
3940
+ return true;
3941
+ }
3942
+ var _baseIsMatch = baseIsMatch$1;
3943
+ var isObject = isObject_1;
3944
+ function isStrictComparable$2(value) {
3945
+ return value === value && !isObject(value);
3946
+ }
3947
+ var _isStrictComparable = isStrictComparable$2;
3948
+ var isStrictComparable$1 = _isStrictComparable, keys$1 = keys_1;
3949
+ function getMatchData$1(object) {
3950
+ var result = keys$1(object), length = result.length;
3951
+ while (length--) {
3952
+ var key = result[length], value = object[key];
3953
+ result[length] = [key, value, isStrictComparable$1(value)];
3954
+ }
3955
+ return result;
3956
+ }
3957
+ var _getMatchData = getMatchData$1;
3958
+ function matchesStrictComparable$2(key, srcValue) {
3959
+ return function(object) {
3960
+ if (object == null) {
3961
+ return false;
3962
+ }
3963
+ return object[key] === srcValue && (srcValue !== void 0 || key in Object(object));
3964
+ };
3965
+ }
3966
+ var _matchesStrictComparable = matchesStrictComparable$2;
3967
+ var baseIsMatch = _baseIsMatch, getMatchData = _getMatchData, matchesStrictComparable$1 = _matchesStrictComparable;
3968
+ function baseMatches$1(source) {
3969
+ var matchData = getMatchData(source);
3970
+ if (matchData.length == 1 && matchData[0][2]) {
3971
+ return matchesStrictComparable$1(matchData[0][0], matchData[0][1]);
3972
+ }
3973
+ return function(object) {
3974
+ return object === source || baseIsMatch(object, source, matchData);
3975
+ };
3976
+ }
3977
+ var _baseMatches = baseMatches$1;
3978
+ var baseGet$1 = _baseGet;
3979
+ function get$1(object, path, defaultValue) {
3980
+ var result = object == null ? void 0 : baseGet$1(object, path);
3981
+ return result === void 0 ? defaultValue : result;
3982
+ }
3983
+ var get_1 = get$1;
3984
+ var baseIsEqual = _baseIsEqual, get = get_1, hasIn = hasIn_1, isKey$1 = _isKey, isStrictComparable = _isStrictComparable, matchesStrictComparable = _matchesStrictComparable, toKey$1 = _toKey;
3985
+ var COMPARE_PARTIAL_FLAG = 1, COMPARE_UNORDERED_FLAG = 2;
3986
+ function baseMatchesProperty$1(path, srcValue) {
3987
+ if (isKey$1(path) && isStrictComparable(srcValue)) {
3988
+ return matchesStrictComparable(toKey$1(path), srcValue);
3989
+ }
3990
+ return function(object) {
3991
+ var objValue = get(object, path);
3992
+ return objValue === void 0 && objValue === srcValue ? hasIn(object, path) : baseIsEqual(srcValue, objValue, COMPARE_PARTIAL_FLAG | COMPARE_UNORDERED_FLAG);
3993
+ };
3994
+ }
3995
+ var _baseMatchesProperty = baseMatchesProperty$1;
3996
+ function baseProperty$1(key) {
3997
+ return function(object) {
3998
+ return object == null ? void 0 : object[key];
3999
+ };
4000
+ }
4001
+ var _baseProperty = baseProperty$1;
4002
+ var baseGet = _baseGet;
4003
+ function basePropertyDeep$1(path) {
4004
+ return function(object) {
4005
+ return baseGet(object, path);
4006
+ };
4007
+ }
4008
+ var _basePropertyDeep = basePropertyDeep$1;
4009
+ var baseProperty = _baseProperty, basePropertyDeep = _basePropertyDeep, isKey = _isKey, toKey = _toKey;
4010
+ function property$1(path) {
4011
+ return isKey(path) ? baseProperty(toKey(path)) : basePropertyDeep(path);
4012
+ }
4013
+ var property_1 = property$1;
4014
+ var baseMatches = _baseMatches, baseMatchesProperty = _baseMatchesProperty, identity = identity_1, isArray$1 = isArray_1, property = property_1;
4015
+ function baseIteratee$1(value) {
4016
+ if (typeof value == "function") {
4017
+ return value;
4018
+ }
4019
+ if (value == null) {
4020
+ return identity;
4021
+ }
4022
+ if (typeof value == "object") {
4023
+ return isArray$1(value) ? baseMatchesProperty(value[0], value[1]) : baseMatches(value);
4024
+ }
4025
+ return property(value);
4026
+ }
4027
+ var _baseIteratee = baseIteratee$1;
4028
+ function createBaseFor$1(fromRight) {
4029
+ return function(object, iteratee, keysFunc) {
4030
+ var index2 = -1, iterable = Object(object), props = keysFunc(object), length = props.length;
4031
+ while (length--) {
4032
+ var key = props[fromRight ? length : ++index2];
4033
+ if (iteratee(iterable[key], key, iterable) === false) {
4034
+ break;
4035
+ }
4036
+ }
4037
+ return object;
4038
+ };
4039
+ }
4040
+ var _createBaseFor = createBaseFor$1;
4041
+ var createBaseFor = _createBaseFor;
4042
+ var baseFor$1 = createBaseFor();
4043
+ var _baseFor = baseFor$1;
4044
+ var baseFor = _baseFor, keys = keys_1;
4045
+ function baseForOwn$1(object, iteratee) {
4046
+ return object && baseFor(object, iteratee, keys);
4047
+ }
4048
+ var _baseForOwn = baseForOwn$1;
4049
+ var isArrayLike$1 = isArrayLike_1;
4050
+ function createBaseEach$1(eachFunc, fromRight) {
4051
+ return function(collection, iteratee) {
4052
+ if (collection == null) {
4053
+ return collection;
4054
+ }
4055
+ if (!isArrayLike$1(collection)) {
4056
+ return eachFunc(collection, iteratee);
4057
+ }
4058
+ var length = collection.length, index2 = fromRight ? length : -1, iterable = Object(collection);
4059
+ while (fromRight ? index2-- : ++index2 < length) {
4060
+ if (iteratee(iterable[index2], index2, iterable) === false) {
4061
+ break;
4062
+ }
4063
+ }
4064
+ return collection;
4065
+ };
4066
+ }
4067
+ var _createBaseEach = createBaseEach$1;
4068
+ var baseForOwn = _baseForOwn, createBaseEach = _createBaseEach;
4069
+ var baseEach$1 = createBaseEach(baseForOwn);
4070
+ var _baseEach = baseEach$1;
4071
+ var baseEach = _baseEach, isArrayLike = isArrayLike_1;
4072
+ function baseMap$1(collection, iteratee) {
4073
+ var index2 = -1, result = isArrayLike(collection) ? Array(collection.length) : [];
4074
+ baseEach(collection, function(value, key, collection2) {
4075
+ result[++index2] = iteratee(value, key, collection2);
4076
+ });
4077
+ return result;
4078
+ }
4079
+ var _baseMap = baseMap$1;
4080
+ var arrayMap = _arrayMap, baseIteratee = _baseIteratee, baseMap = _baseMap, isArray = isArray_1;
4081
+ function map(collection, iteratee) {
4082
+ var func = isArray(collection) ? arrayMap : baseMap;
4083
+ return func(collection, baseIteratee(iteratee));
4084
+ }
4085
+ var map_1 = map;
4086
+ const map$1 = /* @__PURE__ */ getDefaultExportFromCjs(map_1);
4087
+ const _hoisted_1$1 = {
4088
+ key: 2,
4089
+ class: "accordion-title ml-4"
4090
+ };
4091
+ const _hoisted_2 = {
4092
+ key: 3,
4093
+ class: "d-flex mx-2 ga-1"
4094
+ };
4095
+ const _sfc_main$1 = /* @__PURE__ */ vue.defineComponent({
4096
+ __name: "AccordionItem",
4097
+ props: {
4098
+ item: {},
4099
+ embedTypes: {},
4100
+ embeds: { default: () => {
4101
+ } },
4102
+ isFocused: { type: Boolean, default: false },
4103
+ isDisabled: { type: Boolean, default: false },
4104
+ isExpanded: { type: Boolean, default: false }
4105
+ },
4106
+ emits: ["save", "expand", "delete"],
4107
+ setup(__props, { emit }) {
4108
+ const props = __props;
4109
+ const eventBus = vue.inject("$eventBus");
4110
+ const isEditing = vue.ref(!props.item.title);
4111
+ const form = vue.ref();
4112
+ const title = vue.ref(props.item.title);
4113
+ const isNew = vue.computed(() => !props.item.title);
4114
+ const hasElements = vue.computed(() => !isEmpty$1(props.embeds));
4115
+ const cancel = () => {
4116
+ if (isNew.value)
4117
+ return emit("delete");
4118
+ title.value = props.item.title;
4119
+ isEditing.value = false;
4120
+ };
4121
+ const saveTitle = async () => {
4122
+ var _a;
4123
+ const { valid } = await ((_a = form.value) == null ? void 0 : _a.validate());
4124
+ if (!valid)
4125
+ return;
4126
+ isEditing.value = false;
4127
+ const item = { ...props.item, title: title.value };
4128
+ emit("save", { item, embeds: props.embeds });
4129
+ if (isNew.value)
4130
+ emit("expand");
4131
+ };
4132
+ const saveEmbed = (embeds) => {
4133
+ const item = cloneDeep$1(props.item);
4134
+ item.elementIds = map$1(embeds, "id");
4135
+ emit("save", { item, embeds });
4136
+ };
4137
+ const deleteItem = () => {
4138
+ return eventBus.channel("app").emit("showConfirmationModal", {
4139
+ title: "Delete accordion item",
4140
+ message: "Are you sure you want to delete selected item?",
4141
+ action: () => emit("delete")
4142
+ });
4143
+ };
4144
+ const deleteEmbed = (embed) => {
4145
+ const embeds = cloneDeep$1(props.embeds);
4146
+ const item = cloneDeep$1(props.item);
4147
+ delete embeds[embed.id];
4148
+ pull$1(item.elementIds, embed.id);
4149
+ emit("save", { item, embeds });
4150
+ };
4151
+ return (_ctx, _cache) => {
4152
+ const _component_VIcon = vue.resolveComponent("VIcon");
4153
+ const _component_VTextField = vue.resolveComponent("VTextField");
4154
+ const _component_VSpacer = vue.resolveComponent("VSpacer");
4155
+ const _component_VBtn = vue.resolveComponent("VBtn");
4156
+ const _component_VFadeTransition = vue.resolveComponent("VFadeTransition");
4157
+ const _component_VForm = vue.resolveComponent("VForm");
4158
+ const _component_VExpansionPanelTitle = vue.resolveComponent("VExpansionPanelTitle");
4159
+ const _component_VHover = vue.resolveComponent("VHover");
4160
+ const _component_VAlert = vue.resolveComponent("VAlert");
4161
+ const _component_EmbeddedContainer = vue.resolveComponent("EmbeddedContainer");
4162
+ const _component_VExpansionPanelText = vue.resolveComponent("VExpansionPanelText");
4163
+ const _component_VExpansionPanel = vue.resolveComponent("VExpansionPanel");
4164
+ const _directive_tooltip = vue.resolveDirective("tooltip");
4165
+ return vue.openBlock(), vue.createBlock(_component_VExpansionPanel, {
4166
+ "hide-actions": isNew.value,
4167
+ readonly: isNew.value,
4168
+ value: _ctx.item.id
4169
+ }, {
4170
+ default: vue.withCtx(() => [
4171
+ vue.createVNode(_component_VHover, null, {
4172
+ default: vue.withCtx(({ isHovering, props: hoverProps }) => [
4173
+ vue.createVNode(_component_VExpansionPanelTitle, vue.mergeProps(hoverProps, {
4174
+ class: "pa-2 pr-4",
4175
+ color: "primary-lighten-5",
4176
+ "min-height": "56"
4177
+ }), {
4178
+ default: vue.withCtx(() => [
4179
+ vue.createVNode(_component_VForm, {
4180
+ ref_key: "form",
4181
+ ref: form,
4182
+ class: "d-flex align-center w-100",
4183
+ "validate-on": "submit",
4184
+ onSubmit: vue.withModifiers(saveTitle, ["prevent"])
4185
+ }, {
4186
+ default: vue.withCtx(() => [
4187
+ !_ctx.isDisabled ? (vue.openBlock(), vue.createElementBlock("span", {
4188
+ key: 0,
4189
+ class: "accordion-drag-handle",
4190
+ onDrag: _cache[0] || (_cache[0] = vue.withModifiers(() => {
4191
+ }, ["stop", "prevent"]))
4192
+ }, [
4193
+ vue.createVNode(_component_VIcon, { icon: "mdi-drag-vertical" })
4194
+ ], 32)) : vue.createCommentVNode("", true),
4195
+ isEditing.value ? (vue.openBlock(), vue.createBlock(_component_VTextField, {
4196
+ key: 1,
4197
+ modelValue: title.value,
4198
+ "onUpdate:modelValue": _cache[1] || (_cache[1] = ($event) => title.value = $event),
4199
+ rules: [(val) => !!val || "Title is required"],
4200
+ "bg-color": "white",
4201
+ class: "w-100",
4202
+ density: "compact",
4203
+ "hide-details": "auto",
4204
+ placeholder: "Accordion item title...",
4205
+ variant: "outlined",
4206
+ onClick: _cache[2] || (_cache[2] = vue.withModifiers(() => {
4207
+ }, ["stop"])),
4208
+ onKeyup: _cache[3] || (_cache[3] = vue.withKeys(vue.withModifiers(() => {
4209
+ }, ["prevent"]), ["space"]))
4210
+ }, null, 8, ["modelValue", "rules"])) : (vue.openBlock(), vue.createElementBlock("div", _hoisted_1$1, vue.toDisplayString(_ctx.item.title), 1)),
4211
+ vue.createVNode(_component_VSpacer),
4212
+ !_ctx.isDisabled ? (vue.openBlock(), vue.createElementBlock("div", _hoisted_2, [
4213
+ isEditing.value ? (vue.openBlock(), vue.createElementBlock(vue.Fragment, { key: 0 }, [
4214
+ vue.createVNode(_component_VBtn, {
4215
+ color: "primary-darken-2",
4216
+ text: "Save",
4217
+ type: "submit",
4218
+ variant: "tonal",
4219
+ onClick: _cache[4] || (_cache[4] = vue.withModifiers(() => {
4220
+ }, ["stop"]))
4221
+ }),
4222
+ vue.createVNode(_component_VBtn, {
4223
+ color: "primary-darken-2",
4224
+ text: "Cancel",
4225
+ variant: "text",
4226
+ onClick: vue.withModifiers(cancel, ["stop"])
4227
+ }, null, 8, ["onClick"])
4228
+ ], 64)) : (vue.openBlock(), vue.createBlock(_component_VFadeTransition, {
4229
+ key: 1,
4230
+ group: ""
4231
+ }, {
4232
+ default: vue.withCtx(() => [
4233
+ isHovering || _ctx.isExpanded ? (vue.openBlock(), vue.createElementBlock(vue.Fragment, { key: 0 }, [
4234
+ vue.withDirectives(vue.createVNode(_component_VBtn, {
4235
+ color: "primary-darken-2",
4236
+ density: "comfortable",
4237
+ icon: "mdi-square-edit-outline",
4238
+ variant: "tonal",
4239
+ onClick: _cache[5] || (_cache[5] = vue.withModifiers(($event) => isEditing.value = true, ["stop"]))
4240
+ }, null, 512), [
4241
+ [_directive_tooltip, { text: "Edit title", openDelay: 300 }, "bottom"]
4242
+ ]),
4243
+ vue.withDirectives(vue.createVNode(_component_VBtn, {
4244
+ color: "secondary-lighten-2",
4245
+ density: "comfortable",
4246
+ icon: "mdi-delete-outline",
4247
+ variant: "tonal",
4248
+ onClick: vue.withModifiers(deleteItem, ["stop"])
4249
+ }, null, 8, ["onClick"]), [
4250
+ [_directive_tooltip, { text: "Delete item", openDelay: 300 }, "bottom"]
4251
+ ])
4252
+ ], 64)) : vue.createCommentVNode("", true)
4253
+ ]),
4254
+ _: 2
4255
+ }, 1024))
4256
+ ])) : vue.createCommentVNode("", true)
4257
+ ]),
4258
+ _: 2
4259
+ }, 1032, ["onSubmit"])
4260
+ ]),
4261
+ _: 2
4262
+ }, 1040)
4263
+ ]),
4264
+ _: 1
4265
+ }),
4266
+ vue.createVNode(_component_VExpansionPanelText, { class: "text-center" }, {
4267
+ default: vue.withCtx(() => [
4268
+ !hasElements.value ? (vue.openBlock(), vue.createBlock(_component_VAlert, {
4269
+ key: 0,
4270
+ color: "primary-darken-2",
4271
+ icon: "mdi-information-variant",
4272
+ variant: "tonal",
4273
+ prominent: ""
4274
+ }, {
4275
+ default: vue.withCtx(() => [
4276
+ _ctx.isDisabled ? (vue.openBlock(), vue.createElementBlock(vue.Fragment, { key: 0 }, [
4277
+ vue.createTextVNode(" No content elements added to this item. ")
4278
+ ], 64)) : (vue.openBlock(), vue.createElementBlock(vue.Fragment, { key: 1 }, [
4279
+ vue.createTextVNode(" Click the button below to add content element. ")
4280
+ ], 64))
4281
+ ]),
4282
+ _: 1
4283
+ })) : vue.createCommentVNode("", true),
4284
+ vue.createVNode(_component_EmbeddedContainer, {
4285
+ container: { embeds: _ctx.embeds },
4286
+ "is-disabled": _ctx.isDisabled,
4287
+ types: _ctx.embedTypes,
4288
+ onDelete: deleteEmbed,
4289
+ onSave: _cache[6] || (_cache[6] = ($event) => saveEmbed($event.embeds))
4290
+ }, null, 8, ["container", "is-disabled", "types"])
4291
+ ]),
4292
+ _: 1
4293
+ })
4294
+ ]),
4295
+ _: 1
4296
+ }, 8, ["hide-actions", "readonly", "value"]);
4297
+ };
4298
+ }
4299
+ });
4300
+ const AccordionItem_vue_vue_type_style_index_0_scoped_9017ba29_lang = "";
4301
+ const _export_sfc = (sfc, props) => {
4302
+ const target = sfc.__vccOpts || sfc;
4303
+ for (const [key, val] of props) {
4304
+ target[key] = val;
4305
+ }
4306
+ return target;
4307
+ };
4308
+ const AccordionItem = /* @__PURE__ */ _export_sfc(_sfc_main$1, [["__scopeId", "data-v-9017ba29"]]);
4309
+ const _hoisted_1 = { class: "tce-accordion d-flex flex-column align-center text-center" };
4310
+ const _sfc_main = /* @__PURE__ */ vue.defineComponent({
4311
+ __name: "Edit",
4312
+ props: {
4313
+ element: {},
4314
+ embedTypes: {},
4315
+ isFocused: { type: Boolean },
4316
+ isDisabled: { type: Boolean }
4317
+ },
4318
+ emits: ["save", "link"],
4319
+ setup(__props, { emit }) {
4320
+ const props = __props;
4321
+ const expanded = vue.ref([]);
4322
+ const elementData = vue.reactive(cloneDeep$1(props.element.data));
4323
+ const panels = vue.ref();
4324
+ const sortable = vue.ref();
4325
+ const embedsByItem = vue.computed(
4326
+ () => elementData.items.reduce((acc, item) => {
4327
+ acc[item.id] = pick$1(elementData.embeds, item.elementIds);
4328
+ return acc;
4329
+ }, {})
4330
+ );
4331
+ const add = () => {
4332
+ const id = v4();
4333
+ elementData.items.push({ id, elementIds: [] });
4334
+ };
4335
+ const saveItem = ({ item, embeds = {} }, index2) => {
4336
+ elementData.items[index2] = item;
4337
+ Object.assign(elementData.embeds, embeds);
4338
+ emit("save", elementData);
4339
+ };
4340
+ const deleteItem = (id, index2) => {
4341
+ const { elementIds } = elementData.items[index2];
4342
+ elementIds.forEach((id2) => delete elementData.embeds[id2]);
4343
+ elementData.items.splice(index2, 1);
4344
+ if (expanded.value.includes(id))
4345
+ pull$1(expanded.value, id);
4346
+ emit("save", elementData);
4347
+ };
4348
+ vue.onMounted(() => {
4349
+ sortable.value = Sortable.create(panels.value.$el, {
4350
+ animation: 150,
4351
+ group: `dragDrop-${uniqueId$1()}`,
4352
+ handle: ".accordion-drag-handle",
4353
+ onEnd: ({ oldIndex: oldIndex2, newIndex: newIndex2 }) => {
4354
+ if (!isNumber$1(newIndex2) || !isNumber$1(oldIndex2))
4355
+ return;
4356
+ const [item] = elementData.items.splice(oldIndex2, 1);
4357
+ elementData.items.splice(newIndex2, 0, item);
4358
+ emit("save", elementData);
4359
+ }
4360
+ });
4361
+ });
4362
+ vue.onBeforeUnmount(() => {
4363
+ sortable.value.destroy();
4364
+ });
4365
+ return (_ctx, _cache) => {
4366
+ const _component_VExpandTransition = vue.resolveComponent("VExpandTransition");
4367
+ const _component_VExpansionPanels = vue.resolveComponent("VExpansionPanels");
4368
+ const _component_VAlert = vue.resolveComponent("VAlert");
4369
+ const _component_VBtn = vue.resolveComponent("VBtn");
4370
+ return vue.openBlock(), vue.createElementBlock("div", _hoisted_1, [
4371
+ vue.createVNode(_component_VExpansionPanels, {
4372
+ ref_key: "panels",
4373
+ ref: panels,
4374
+ modelValue: expanded.value,
4375
+ "onUpdate:modelValue": _cache[0] || (_cache[0] = ($event) => expanded.value = $event),
4376
+ elevation: "0",
4377
+ rounded: "lg",
4378
+ multiple: ""
4379
+ }, {
4380
+ default: vue.withCtx(() => [
4381
+ elementData.items.length > 0 ? (vue.openBlock(), vue.createBlock(_component_VExpandTransition, {
4382
+ key: 0,
4383
+ group: ""
4384
+ }, {
4385
+ default: vue.withCtx(() => [
4386
+ (vue.openBlock(true), vue.createElementBlock(vue.Fragment, null, vue.renderList(elementData.items, (item, index2) => {
4387
+ return vue.openBlock(), vue.createBlock(AccordionItem, {
4388
+ key: item.id,
4389
+ "embed-types": _ctx.embedTypes,
4390
+ embeds: embedsByItem.value[item.id],
4391
+ "is-disabled": _ctx.isDisabled,
4392
+ "is-expanded": expanded.value.includes(item.id),
4393
+ "is-focused": _ctx.isFocused,
4394
+ item,
4395
+ onDelete: ($event) => deleteItem(item.id, index2),
4396
+ onExpand: ($event) => expanded.value.push(item.id),
4397
+ onSave: ($event) => saveItem($event, index2)
4398
+ }, null, 8, ["embed-types", "embeds", "is-disabled", "is-expanded", "is-focused", "item", "onDelete", "onExpand", "onSave"]);
4399
+ }), 128))
4400
+ ]),
4401
+ _: 1
4402
+ })) : vue.createCommentVNode("", true)
4403
+ ]),
4404
+ _: 1
4405
+ }, 8, ["modelValue"]),
4406
+ elementData.items.length === 0 ? (vue.openBlock(), vue.createBlock(_component_VAlert, {
4407
+ key: 0,
4408
+ class: "w-100",
4409
+ color: "primary-darken-2",
4410
+ icon: "mdi-information-variant",
4411
+ variant: "tonal",
4412
+ prominent: ""
4413
+ }, {
4414
+ default: vue.withCtx(() => [
4415
+ _ctx.isDisabled ? (vue.openBlock(), vue.createElementBlock(vue.Fragment, { key: 0 }, [
4416
+ vue.createTextVNode("No items added.")
4417
+ ], 64)) : (vue.openBlock(), vue.createElementBlock(vue.Fragment, { key: 1 }, [
4418
+ vue.createTextVNode(" Click on the button below in order to create your first item. ")
4419
+ ], 64))
4420
+ ]),
4421
+ _: 1
4422
+ })) : vue.createCommentVNode("", true),
4423
+ !_ctx.isDisabled ? (vue.openBlock(), vue.createBlock(_component_VBtn, {
4424
+ key: 1,
4425
+ class: "mt-6",
4426
+ color: "primary-darken-4",
4427
+ "prepend-icon": "mdi-plus",
4428
+ variant: "text",
4429
+ onClick: add
4430
+ }, {
4431
+ default: vue.withCtx(() => [
4432
+ vue.createTextVNode(" Accordion item ")
4433
+ ]),
4434
+ _: 1
4435
+ })) : vue.createCommentVNode("", true)
4436
+ ]);
4437
+ };
4438
+ }
4439
+ });
4440
+ const Edit_vue_vue_type_style_index_0_scoped_f79cd0ed_lang = "";
4441
+ const Edit = /* @__PURE__ */ _export_sfc(_sfc_main, [["__scopeId", "data-v-f79cd0ed"]]);
4442
+ const manifest = {
4443
+ ...src_default,
4444
+ Edit
4445
+ };
4446
+ exports.Edit = Edit;
4447
+ exports.default = manifest;