@wimi/gantt 0.1.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -0,0 +1,4751 @@
1
+ /******/ (function() { // webpackBootstrap
2
+ /******/ "use strict";
3
+ /******/ var __webpack_modules__ = ({
4
+
5
+ /***/ 2481:
6
+ /***/ (function(module, __unused_webpack_exports, __webpack_require__) {
7
+
8
+
9
+ var isCallable = __webpack_require__(8252);
10
+ var tryToString = __webpack_require__(1958);
11
+
12
+ var $TypeError = TypeError;
13
+
14
+ // `Assert: IsCallable(argument) is true`
15
+ module.exports = function (argument) {
16
+ if (isCallable(argument)) return argument;
17
+ throw new $TypeError(tryToString(argument) + ' is not a function');
18
+ };
19
+
20
+
21
+ /***/ }),
22
+
23
+ /***/ 7938:
24
+ /***/ (function(module, __unused_webpack_exports, __webpack_require__) {
25
+
26
+
27
+ var wellKnownSymbol = __webpack_require__(2666);
28
+ var create = __webpack_require__(3369);
29
+ var defineProperty = (__webpack_require__(1250).f);
30
+
31
+ var UNSCOPABLES = wellKnownSymbol('unscopables');
32
+ var ArrayPrototype = Array.prototype;
33
+
34
+ // Array.prototype[@@unscopables]
35
+ // https://tc39.es/ecma262/#sec-array.prototype-@@unscopables
36
+ if (ArrayPrototype[UNSCOPABLES] === undefined) {
37
+ defineProperty(ArrayPrototype, UNSCOPABLES, {
38
+ configurable: true,
39
+ value: create(null)
40
+ });
41
+ }
42
+
43
+ // add a key to Array.prototype[@@unscopables]
44
+ module.exports = function (key) {
45
+ ArrayPrototype[UNSCOPABLES][key] = true;
46
+ };
47
+
48
+
49
+ /***/ }),
50
+
51
+ /***/ 462:
52
+ /***/ (function(module, __unused_webpack_exports, __webpack_require__) {
53
+
54
+
55
+ var isPrototypeOf = __webpack_require__(8130);
56
+
57
+ var $TypeError = TypeError;
58
+
59
+ module.exports = function (it, Prototype) {
60
+ if (isPrototypeOf(Prototype, it)) return it;
61
+ throw new $TypeError('Incorrect invocation');
62
+ };
63
+
64
+
65
+ /***/ }),
66
+
67
+ /***/ 3162:
68
+ /***/ (function(module, __unused_webpack_exports, __webpack_require__) {
69
+
70
+
71
+ var isObject = __webpack_require__(8271);
72
+
73
+ var $String = String;
74
+ var $TypeError = TypeError;
75
+
76
+ // `Assert: Type(argument) is Object`
77
+ module.exports = function (argument) {
78
+ if (isObject(argument)) return argument;
79
+ throw new $TypeError($String(argument) + ' is not an object');
80
+ };
81
+
82
+
83
+ /***/ }),
84
+
85
+ /***/ 8658:
86
+ /***/ (function(module, __unused_webpack_exports, __webpack_require__) {
87
+
88
+
89
+ var toIndexedObject = __webpack_require__(2364);
90
+ var toAbsoluteIndex = __webpack_require__(9283);
91
+ var lengthOfArrayLike = __webpack_require__(6013);
92
+
93
+ // `Array.prototype.{ indexOf, includes }` methods implementation
94
+ var createMethod = function (IS_INCLUDES) {
95
+ return function ($this, el, fromIndex) {
96
+ var O = toIndexedObject($this);
97
+ var length = lengthOfArrayLike(O);
98
+ if (length === 0) return !IS_INCLUDES && -1;
99
+ var index = toAbsoluteIndex(fromIndex, length);
100
+ var value;
101
+ // Array#includes uses SameValueZero equality algorithm
102
+ // eslint-disable-next-line no-self-compare -- NaN check
103
+ if (IS_INCLUDES && el !== el) while (length > index) {
104
+ value = O[index++];
105
+ // eslint-disable-next-line no-self-compare -- NaN check
106
+ if (value !== value) return true;
107
+ // Array#indexOf ignores holes, Array#includes - not
108
+ } else for (;length > index; index++) {
109
+ if ((IS_INCLUDES || index in O) && O[index] === el) return IS_INCLUDES || index || 0;
110
+ } return !IS_INCLUDES && -1;
111
+ };
112
+ };
113
+
114
+ module.exports = {
115
+ // `Array.prototype.includes` method
116
+ // https://tc39.es/ecma262/#sec-array.prototype.includes
117
+ includes: createMethod(true),
118
+ // `Array.prototype.indexOf` method
119
+ // https://tc39.es/ecma262/#sec-array.prototype.indexof
120
+ indexOf: createMethod(false)
121
+ };
122
+
123
+
124
+ /***/ }),
125
+
126
+ /***/ 592:
127
+ /***/ (function(module, __unused_webpack_exports, __webpack_require__) {
128
+
129
+
130
+ var DESCRIPTORS = __webpack_require__(7101);
131
+ var isArray = __webpack_require__(8431);
132
+
133
+ var $TypeError = TypeError;
134
+ // eslint-disable-next-line es/no-object-getownpropertydescriptor -- safe
135
+ var getOwnPropertyDescriptor = Object.getOwnPropertyDescriptor;
136
+
137
+ // Safari < 13 does not throw an error in this case
138
+ var SILENT_ON_NON_WRITABLE_LENGTH_SET = DESCRIPTORS && !function () {
139
+ // makes no sense without proper strict mode support
140
+ if (this !== undefined) return true;
141
+ try {
142
+ // eslint-disable-next-line es/no-object-defineproperty -- safe
143
+ Object.defineProperty([], 'length', { writable: false }).length = 1;
144
+ } catch (error) {
145
+ return error instanceof TypeError;
146
+ }
147
+ }();
148
+
149
+ module.exports = SILENT_ON_NON_WRITABLE_LENGTH_SET ? function (O, length) {
150
+ if (isArray(O) && !getOwnPropertyDescriptor(O, 'length').writable) {
151
+ throw new $TypeError('Cannot set read only .length');
152
+ } return O.length = length;
153
+ } : function (O, length) {
154
+ return O.length = length;
155
+ };
156
+
157
+
158
+ /***/ }),
159
+
160
+ /***/ 9836:
161
+ /***/ (function(module, __unused_webpack_exports, __webpack_require__) {
162
+
163
+
164
+ var anObject = __webpack_require__(3162);
165
+ var iteratorClose = __webpack_require__(1380);
166
+
167
+ // call something on iterator step with safe closing on error
168
+ module.exports = function (iterator, fn, value, ENTRIES) {
169
+ try {
170
+ return ENTRIES ? fn(anObject(value)[0], value[1]) : fn(value);
171
+ } catch (error) {
172
+ iteratorClose(iterator, 'throw', error);
173
+ }
174
+ };
175
+
176
+
177
+ /***/ }),
178
+
179
+ /***/ 7409:
180
+ /***/ (function(module, __unused_webpack_exports, __webpack_require__) {
181
+
182
+
183
+ var uncurryThis = __webpack_require__(2289);
184
+
185
+ var toString = uncurryThis({}.toString);
186
+ var stringSlice = uncurryThis(''.slice);
187
+
188
+ module.exports = function (it) {
189
+ return stringSlice(toString(it), 8, -1);
190
+ };
191
+
192
+
193
+ /***/ }),
194
+
195
+ /***/ 110:
196
+ /***/ (function(module, __unused_webpack_exports, __webpack_require__) {
197
+
198
+
199
+ var TO_STRING_TAG_SUPPORT = __webpack_require__(1153);
200
+ var isCallable = __webpack_require__(8252);
201
+ var classofRaw = __webpack_require__(7409);
202
+ var wellKnownSymbol = __webpack_require__(2666);
203
+
204
+ var TO_STRING_TAG = wellKnownSymbol('toStringTag');
205
+ var $Object = Object;
206
+
207
+ // ES3 wrong here
208
+ var CORRECT_ARGUMENTS = classofRaw(function () { return arguments; }()) === 'Arguments';
209
+
210
+ // fallback for IE11 Script Access Denied error
211
+ var tryGet = function (it, key) {
212
+ try {
213
+ return it[key];
214
+ } catch (error) { /* empty */ }
215
+ };
216
+
217
+ // getting tag from ES6+ `Object.prototype.toString`
218
+ module.exports = TO_STRING_TAG_SUPPORT ? classofRaw : function (it) {
219
+ var O, tag, result;
220
+ return it === undefined ? 'Undefined' : it === null ? 'Null'
221
+ // @@toStringTag case
222
+ : typeof (tag = tryGet(O = $Object(it), TO_STRING_TAG)) == 'string' ? tag
223
+ // builtinTag case
224
+ : CORRECT_ARGUMENTS ? classofRaw(O)
225
+ // ES3 arguments fallback
226
+ : (result = classofRaw(O)) === 'Object' && isCallable(O.callee) ? 'Arguments' : result;
227
+ };
228
+
229
+
230
+ /***/ }),
231
+
232
+ /***/ 4993:
233
+ /***/ (function(module, __unused_webpack_exports, __webpack_require__) {
234
+
235
+
236
+ var hasOwn = __webpack_require__(9522);
237
+ var ownKeys = __webpack_require__(5456);
238
+ var getOwnPropertyDescriptorModule = __webpack_require__(6056);
239
+ var definePropertyModule = __webpack_require__(1250);
240
+
241
+ module.exports = function (target, source, exceptions) {
242
+ var keys = ownKeys(source);
243
+ var defineProperty = definePropertyModule.f;
244
+ var getOwnPropertyDescriptor = getOwnPropertyDescriptorModule.f;
245
+ for (var i = 0; i < keys.length; i++) {
246
+ var key = keys[i];
247
+ if (!hasOwn(target, key) && !(exceptions && hasOwn(exceptions, key))) {
248
+ defineProperty(target, key, getOwnPropertyDescriptor(source, key));
249
+ }
250
+ }
251
+ };
252
+
253
+
254
+ /***/ }),
255
+
256
+ /***/ 6280:
257
+ /***/ (function(module, __unused_webpack_exports, __webpack_require__) {
258
+
259
+
260
+ var fails = __webpack_require__(8930);
261
+
262
+ module.exports = !fails(function () {
263
+ function F() { /* empty */ }
264
+ F.prototype.constructor = null;
265
+ // eslint-disable-next-line es/no-object-getprototypeof -- required for testing
266
+ return Object.getPrototypeOf(new F()) !== F.prototype;
267
+ });
268
+
269
+
270
+ /***/ }),
271
+
272
+ /***/ 4992:
273
+ /***/ (function(module) {
274
+
275
+
276
+ // `CreateIterResultObject` abstract operation
277
+ // https://tc39.es/ecma262/#sec-createiterresultobject
278
+ module.exports = function (value, done) {
279
+ return { value: value, done: done };
280
+ };
281
+
282
+
283
+ /***/ }),
284
+
285
+ /***/ 232:
286
+ /***/ (function(module, __unused_webpack_exports, __webpack_require__) {
287
+
288
+
289
+ var DESCRIPTORS = __webpack_require__(7101);
290
+ var definePropertyModule = __webpack_require__(1250);
291
+ var createPropertyDescriptor = __webpack_require__(9299);
292
+
293
+ module.exports = DESCRIPTORS ? function (object, key, value) {
294
+ return definePropertyModule.f(object, key, createPropertyDescriptor(1, value));
295
+ } : function (object, key, value) {
296
+ object[key] = value;
297
+ return object;
298
+ };
299
+
300
+
301
+ /***/ }),
302
+
303
+ /***/ 9299:
304
+ /***/ (function(module) {
305
+
306
+
307
+ module.exports = function (bitmap, value) {
308
+ return {
309
+ enumerable: !(bitmap & 1),
310
+ configurable: !(bitmap & 2),
311
+ writable: !(bitmap & 4),
312
+ value: value
313
+ };
314
+ };
315
+
316
+
317
+ /***/ }),
318
+
319
+ /***/ 721:
320
+ /***/ (function(module, __unused_webpack_exports, __webpack_require__) {
321
+
322
+
323
+ var DESCRIPTORS = __webpack_require__(7101);
324
+ var definePropertyModule = __webpack_require__(1250);
325
+ var createPropertyDescriptor = __webpack_require__(9299);
326
+
327
+ module.exports = function (object, key, value) {
328
+ if (DESCRIPTORS) definePropertyModule.f(object, key, createPropertyDescriptor(0, value));
329
+ else object[key] = value;
330
+ };
331
+
332
+
333
+ /***/ }),
334
+
335
+ /***/ 7893:
336
+ /***/ (function(module, __unused_webpack_exports, __webpack_require__) {
337
+
338
+
339
+ var makeBuiltIn = __webpack_require__(4034);
340
+ var defineProperty = __webpack_require__(1250);
341
+
342
+ module.exports = function (target, name, descriptor) {
343
+ if (descriptor.get) makeBuiltIn(descriptor.get, name, { getter: true });
344
+ if (descriptor.set) makeBuiltIn(descriptor.set, name, { setter: true });
345
+ return defineProperty.f(target, name, descriptor);
346
+ };
347
+
348
+
349
+ /***/ }),
350
+
351
+ /***/ 3589:
352
+ /***/ (function(module, __unused_webpack_exports, __webpack_require__) {
353
+
354
+
355
+ var isCallable = __webpack_require__(8252);
356
+ var definePropertyModule = __webpack_require__(1250);
357
+ var makeBuiltIn = __webpack_require__(4034);
358
+ var defineGlobalProperty = __webpack_require__(7214);
359
+
360
+ module.exports = function (O, key, value, options) {
361
+ if (!options) options = {};
362
+ var simple = options.enumerable;
363
+ var name = options.name !== undefined ? options.name : key;
364
+ if (isCallable(value)) makeBuiltIn(value, name, options);
365
+ if (options.global) {
366
+ if (simple) O[key] = value;
367
+ else defineGlobalProperty(key, value);
368
+ } else {
369
+ try {
370
+ if (!options.unsafe) delete O[key];
371
+ else if (O[key]) simple = true;
372
+ } catch (error) { /* empty */ }
373
+ if (simple) O[key] = value;
374
+ else definePropertyModule.f(O, key, {
375
+ value: value,
376
+ enumerable: false,
377
+ configurable: !options.nonConfigurable,
378
+ writable: !options.nonWritable
379
+ });
380
+ } return O;
381
+ };
382
+
383
+
384
+ /***/ }),
385
+
386
+ /***/ 2976:
387
+ /***/ (function(module, __unused_webpack_exports, __webpack_require__) {
388
+
389
+
390
+ var defineBuiltIn = __webpack_require__(3589);
391
+
392
+ module.exports = function (target, src, options) {
393
+ for (var key in src) defineBuiltIn(target, key, src[key], options);
394
+ return target;
395
+ };
396
+
397
+
398
+ /***/ }),
399
+
400
+ /***/ 7214:
401
+ /***/ (function(module, __unused_webpack_exports, __webpack_require__) {
402
+
403
+
404
+ var globalThis = __webpack_require__(3405);
405
+
406
+ // eslint-disable-next-line es/no-object-defineproperty -- safe
407
+ var defineProperty = Object.defineProperty;
408
+
409
+ module.exports = function (key, value) {
410
+ try {
411
+ defineProperty(globalThis, key, { value: value, configurable: true, writable: true });
412
+ } catch (error) {
413
+ globalThis[key] = value;
414
+ } return value;
415
+ };
416
+
417
+
418
+ /***/ }),
419
+
420
+ /***/ 7101:
421
+ /***/ (function(module, __unused_webpack_exports, __webpack_require__) {
422
+
423
+
424
+ var fails = __webpack_require__(8930);
425
+
426
+ // Detect IE8's incomplete defineProperty implementation
427
+ module.exports = !fails(function () {
428
+ // eslint-disable-next-line es/no-object-defineproperty -- required for testing
429
+ return Object.defineProperty({}, 1, { get: function () { return 7; } })[1] !== 7;
430
+ });
431
+
432
+
433
+ /***/ }),
434
+
435
+ /***/ 2998:
436
+ /***/ (function(module, __unused_webpack_exports, __webpack_require__) {
437
+
438
+
439
+ var globalThis = __webpack_require__(3405);
440
+ var isObject = __webpack_require__(8271);
441
+
442
+ var document = globalThis.document;
443
+ // typeof document.createElement is 'object' in old IE
444
+ var EXISTS = isObject(document) && isObject(document.createElement);
445
+
446
+ module.exports = function (it) {
447
+ return EXISTS ? document.createElement(it) : {};
448
+ };
449
+
450
+
451
+ /***/ }),
452
+
453
+ /***/ 6994:
454
+ /***/ (function(module) {
455
+
456
+
457
+ var $TypeError = TypeError;
458
+ var MAX_SAFE_INTEGER = 0x1FFFFFFFFFFFFF; // 2 ** 53 - 1 == 9007199254740991
459
+
460
+ module.exports = function (it) {
461
+ if (it > MAX_SAFE_INTEGER) throw new $TypeError('Maximum allowed index exceeded');
462
+ return it;
463
+ };
464
+
465
+
466
+ /***/ }),
467
+
468
+ /***/ 7658:
469
+ /***/ (function(module) {
470
+
471
+
472
+ // IE8- don't enum bug keys
473
+ module.exports = [
474
+ 'constructor',
475
+ 'hasOwnProperty',
476
+ 'isPrototypeOf',
477
+ 'propertyIsEnumerable',
478
+ 'toLocaleString',
479
+ 'toString',
480
+ 'valueOf'
481
+ ];
482
+
483
+
484
+ /***/ }),
485
+
486
+ /***/ 6332:
487
+ /***/ (function(module, __unused_webpack_exports, __webpack_require__) {
488
+
489
+
490
+ var globalThis = __webpack_require__(3405);
491
+
492
+ var navigator = globalThis.navigator;
493
+ var userAgent = navigator && navigator.userAgent;
494
+
495
+ module.exports = userAgent ? String(userAgent) : '';
496
+
497
+
498
+ /***/ }),
499
+
500
+ /***/ 5168:
501
+ /***/ (function(module, __unused_webpack_exports, __webpack_require__) {
502
+
503
+
504
+ var globalThis = __webpack_require__(3405);
505
+ var userAgent = __webpack_require__(6332);
506
+
507
+ var process = globalThis.process;
508
+ var Deno = globalThis.Deno;
509
+ var versions = process && process.versions || Deno && Deno.version;
510
+ var v8 = versions && versions.v8;
511
+ var match, version;
512
+
513
+ if (v8) {
514
+ match = v8.split('.');
515
+ // in old Chrome, versions of V8 isn't V8 = Chrome / 10
516
+ // but their correct versions are not interesting for us
517
+ version = match[0] > 0 && match[0] < 4 ? 1 : +(match[0] + match[1]);
518
+ }
519
+
520
+ // BrowserFS NodeJS `process` polyfill incorrectly set `.v8` to `0.0`
521
+ // so check `userAgent` even if `.v8` exists, but 0
522
+ if (!version && userAgent) {
523
+ match = userAgent.match(/Edge\/(\d+)/);
524
+ if (!match || match[1] >= 74) {
525
+ match = userAgent.match(/Chrome\/(\d+)/);
526
+ if (match) version = +match[1];
527
+ }
528
+ }
529
+
530
+ module.exports = version;
531
+
532
+
533
+ /***/ }),
534
+
535
+ /***/ 7725:
536
+ /***/ (function(module, __unused_webpack_exports, __webpack_require__) {
537
+
538
+
539
+ var globalThis = __webpack_require__(3405);
540
+ var getOwnPropertyDescriptor = (__webpack_require__(6056).f);
541
+ var createNonEnumerableProperty = __webpack_require__(232);
542
+ var defineBuiltIn = __webpack_require__(3589);
543
+ var defineGlobalProperty = __webpack_require__(7214);
544
+ var copyConstructorProperties = __webpack_require__(4993);
545
+ var isForced = __webpack_require__(5129);
546
+
547
+ /*
548
+ options.target - name of the target object
549
+ options.global - target is the global object
550
+ options.stat - export as static methods of target
551
+ options.proto - export as prototype methods of target
552
+ options.real - real prototype method for the `pure` version
553
+ options.forced - export even if the native feature is available
554
+ options.bind - bind methods to the target, required for the `pure` version
555
+ options.wrap - wrap constructors to preventing global pollution, required for the `pure` version
556
+ options.unsafe - use the simple assignment of property instead of delete + defineProperty
557
+ options.sham - add a flag to not completely full polyfills
558
+ options.enumerable - export as enumerable property
559
+ options.dontCallGetSet - prevent calling a getter on target
560
+ options.name - the .name of the function if it does not match the key
561
+ */
562
+ module.exports = function (options, source) {
563
+ var TARGET = options.target;
564
+ var GLOBAL = options.global;
565
+ var STATIC = options.stat;
566
+ var FORCED, target, key, targetProperty, sourceProperty, descriptor;
567
+ if (GLOBAL) {
568
+ target = globalThis;
569
+ } else if (STATIC) {
570
+ target = globalThis[TARGET] || defineGlobalProperty(TARGET, {});
571
+ } else {
572
+ target = globalThis[TARGET] && globalThis[TARGET].prototype;
573
+ }
574
+ if (target) for (key in source) {
575
+ sourceProperty = source[key];
576
+ if (options.dontCallGetSet) {
577
+ descriptor = getOwnPropertyDescriptor(target, key);
578
+ targetProperty = descriptor && descriptor.value;
579
+ } else targetProperty = target[key];
580
+ FORCED = isForced(GLOBAL ? key : TARGET + (STATIC ? '.' : '#') + key, options.forced);
581
+ // contained in target
582
+ if (!FORCED && targetProperty !== undefined) {
583
+ if (typeof sourceProperty == typeof targetProperty) continue;
584
+ copyConstructorProperties(sourceProperty, targetProperty);
585
+ }
586
+ // add a flag to not completely full polyfills
587
+ if (options.sham || (targetProperty && targetProperty.sham)) {
588
+ createNonEnumerableProperty(sourceProperty, 'sham', true);
589
+ }
590
+ defineBuiltIn(target, key, sourceProperty, options);
591
+ }
592
+ };
593
+
594
+
595
+ /***/ }),
596
+
597
+ /***/ 8930:
598
+ /***/ (function(module) {
599
+
600
+
601
+ module.exports = function (exec) {
602
+ try {
603
+ return !!exec();
604
+ } catch (error) {
605
+ return true;
606
+ }
607
+ };
608
+
609
+
610
+ /***/ }),
611
+
612
+ /***/ 5990:
613
+ /***/ (function(module, __unused_webpack_exports, __webpack_require__) {
614
+
615
+
616
+ var NATIVE_BIND = __webpack_require__(5647);
617
+
618
+ var FunctionPrototype = Function.prototype;
619
+ var apply = FunctionPrototype.apply;
620
+ var call = FunctionPrototype.call;
621
+
622
+ // eslint-disable-next-line es/no-function-prototype-bind, es/no-reflect -- safe
623
+ module.exports = typeof Reflect == 'object' && Reflect.apply || (NATIVE_BIND ? call.bind(apply) : function () {
624
+ return call.apply(apply, arguments);
625
+ });
626
+
627
+
628
+ /***/ }),
629
+
630
+ /***/ 4445:
631
+ /***/ (function(module, __unused_webpack_exports, __webpack_require__) {
632
+
633
+
634
+ var uncurryThis = __webpack_require__(9995);
635
+ var aCallable = __webpack_require__(2481);
636
+ var NATIVE_BIND = __webpack_require__(5647);
637
+
638
+ var bind = uncurryThis(uncurryThis.bind);
639
+
640
+ // optional / simple context binding
641
+ module.exports = function (fn, that) {
642
+ aCallable(fn);
643
+ return that === undefined ? fn : NATIVE_BIND ? bind(fn, that) : function (/* ...args */) {
644
+ return fn.apply(that, arguments);
645
+ };
646
+ };
647
+
648
+
649
+ /***/ }),
650
+
651
+ /***/ 5647:
652
+ /***/ (function(module, __unused_webpack_exports, __webpack_require__) {
653
+
654
+
655
+ var fails = __webpack_require__(8930);
656
+
657
+ module.exports = !fails(function () {
658
+ // eslint-disable-next-line es/no-function-prototype-bind -- safe
659
+ var test = function () { /* empty */ }.bind();
660
+ // eslint-disable-next-line no-prototype-builtins -- safe
661
+ return typeof test != 'function' || test.hasOwnProperty('prototype');
662
+ });
663
+
664
+
665
+ /***/ }),
666
+
667
+ /***/ 3176:
668
+ /***/ (function(module, __unused_webpack_exports, __webpack_require__) {
669
+
670
+
671
+ var NATIVE_BIND = __webpack_require__(5647);
672
+
673
+ var call = Function.prototype.call;
674
+ // eslint-disable-next-line es/no-function-prototype-bind -- safe
675
+ module.exports = NATIVE_BIND ? call.bind(call) : function () {
676
+ return call.apply(call, arguments);
677
+ };
678
+
679
+
680
+ /***/ }),
681
+
682
+ /***/ 3743:
683
+ /***/ (function(module, __unused_webpack_exports, __webpack_require__) {
684
+
685
+
686
+ var DESCRIPTORS = __webpack_require__(7101);
687
+ var hasOwn = __webpack_require__(9522);
688
+
689
+ var FunctionPrototype = Function.prototype;
690
+ // eslint-disable-next-line es/no-object-getownpropertydescriptor -- safe
691
+ var getDescriptor = DESCRIPTORS && Object.getOwnPropertyDescriptor;
692
+
693
+ var EXISTS = hasOwn(FunctionPrototype, 'name');
694
+ // additional protection from minified / mangled / dropped function names
695
+ var PROPER = EXISTS && function something() { /* empty */ }.name === 'something';
696
+ var CONFIGURABLE = EXISTS && (!DESCRIPTORS || (DESCRIPTORS && getDescriptor(FunctionPrototype, 'name').configurable));
697
+
698
+ module.exports = {
699
+ EXISTS: EXISTS,
700
+ PROPER: PROPER,
701
+ CONFIGURABLE: CONFIGURABLE
702
+ };
703
+
704
+
705
+ /***/ }),
706
+
707
+ /***/ 9995:
708
+ /***/ (function(module, __unused_webpack_exports, __webpack_require__) {
709
+
710
+
711
+ var classofRaw = __webpack_require__(7409);
712
+ var uncurryThis = __webpack_require__(2289);
713
+
714
+ module.exports = function (fn) {
715
+ // Nashorn bug:
716
+ // https://github.com/zloirock/core-js/issues/1128
717
+ // https://github.com/zloirock/core-js/issues/1130
718
+ if (classofRaw(fn) === 'Function') return uncurryThis(fn);
719
+ };
720
+
721
+
722
+ /***/ }),
723
+
724
+ /***/ 2289:
725
+ /***/ (function(module, __unused_webpack_exports, __webpack_require__) {
726
+
727
+
728
+ var NATIVE_BIND = __webpack_require__(5647);
729
+
730
+ var FunctionPrototype = Function.prototype;
731
+ var call = FunctionPrototype.call;
732
+ // eslint-disable-next-line es/no-function-prototype-bind -- safe
733
+ var uncurryThisWithBind = NATIVE_BIND && FunctionPrototype.bind.bind(call, call);
734
+
735
+ module.exports = NATIVE_BIND ? uncurryThisWithBind : function (fn) {
736
+ return function () {
737
+ return call.apply(fn, arguments);
738
+ };
739
+ };
740
+
741
+
742
+ /***/ }),
743
+
744
+ /***/ 3220:
745
+ /***/ (function(module, __unused_webpack_exports, __webpack_require__) {
746
+
747
+
748
+ var globalThis = __webpack_require__(3405);
749
+ var isCallable = __webpack_require__(8252);
750
+
751
+ var aFunction = function (argument) {
752
+ return isCallable(argument) ? argument : undefined;
753
+ };
754
+
755
+ module.exports = function (namespace, method) {
756
+ return arguments.length < 2 ? aFunction(globalThis[namespace]) : globalThis[namespace] && globalThis[namespace][method];
757
+ };
758
+
759
+
760
+ /***/ }),
761
+
762
+ /***/ 6226:
763
+ /***/ (function(module) {
764
+
765
+
766
+ // `GetIteratorDirect(obj)` abstract operation
767
+ // https://tc39.es/ecma262/#sec-getiteratordirect
768
+ module.exports = function (obj) {
769
+ return {
770
+ iterator: obj,
771
+ next: obj.next,
772
+ done: false
773
+ };
774
+ };
775
+
776
+
777
+ /***/ }),
778
+
779
+ /***/ 8258:
780
+ /***/ (function(module, __unused_webpack_exports, __webpack_require__) {
781
+
782
+
783
+ var classof = __webpack_require__(110);
784
+ var getMethod = __webpack_require__(3377);
785
+ var isNullOrUndefined = __webpack_require__(3022);
786
+ var Iterators = __webpack_require__(4988);
787
+ var wellKnownSymbol = __webpack_require__(2666);
788
+
789
+ var ITERATOR = wellKnownSymbol('iterator');
790
+
791
+ module.exports = function (it) {
792
+ if (!isNullOrUndefined(it)) return getMethod(it, ITERATOR)
793
+ || getMethod(it, '@@iterator')
794
+ || Iterators[classof(it)];
795
+ };
796
+
797
+
798
+ /***/ }),
799
+
800
+ /***/ 4750:
801
+ /***/ (function(module, __unused_webpack_exports, __webpack_require__) {
802
+
803
+
804
+ var call = __webpack_require__(3176);
805
+ var aCallable = __webpack_require__(2481);
806
+ var anObject = __webpack_require__(3162);
807
+ var tryToString = __webpack_require__(1958);
808
+ var getIteratorMethod = __webpack_require__(8258);
809
+
810
+ var $TypeError = TypeError;
811
+
812
+ module.exports = function (argument, usingIterator) {
813
+ var iteratorMethod = arguments.length < 2 ? getIteratorMethod(argument) : usingIterator;
814
+ if (aCallable(iteratorMethod)) return anObject(call(iteratorMethod, argument));
815
+ throw new $TypeError(tryToString(argument) + ' is not iterable');
816
+ };
817
+
818
+
819
+ /***/ }),
820
+
821
+ /***/ 3377:
822
+ /***/ (function(module, __unused_webpack_exports, __webpack_require__) {
823
+
824
+
825
+ var aCallable = __webpack_require__(2481);
826
+ var isNullOrUndefined = __webpack_require__(3022);
827
+
828
+ // `GetMethod` abstract operation
829
+ // https://tc39.es/ecma262/#sec-getmethod
830
+ module.exports = function (V, P) {
831
+ var func = V[P];
832
+ return isNullOrUndefined(func) ? undefined : aCallable(func);
833
+ };
834
+
835
+
836
+ /***/ }),
837
+
838
+ /***/ 3405:
839
+ /***/ (function(module, __unused_webpack_exports, __webpack_require__) {
840
+
841
+
842
+ var check = function (it) {
843
+ return it && it.Math === Math && it;
844
+ };
845
+
846
+ // https://github.com/zloirock/core-js/issues/86#issuecomment-115759028
847
+ module.exports =
848
+ // eslint-disable-next-line es/no-global-this -- safe
849
+ check(typeof globalThis == 'object' && globalThis) ||
850
+ check(typeof window == 'object' && window) ||
851
+ // eslint-disable-next-line no-restricted-globals -- safe
852
+ check(typeof self == 'object' && self) ||
853
+ check(typeof __webpack_require__.g == 'object' && __webpack_require__.g) ||
854
+ check(typeof this == 'object' && this) ||
855
+ // eslint-disable-next-line no-new-func -- fallback
856
+ (function () { return this; })() || Function('return this')();
857
+
858
+
859
+ /***/ }),
860
+
861
+ /***/ 9522:
862
+ /***/ (function(module, __unused_webpack_exports, __webpack_require__) {
863
+
864
+
865
+ var uncurryThis = __webpack_require__(2289);
866
+ var toObject = __webpack_require__(1724);
867
+
868
+ var hasOwnProperty = uncurryThis({}.hasOwnProperty);
869
+
870
+ // `HasOwnProperty` abstract operation
871
+ // https://tc39.es/ecma262/#sec-hasownproperty
872
+ // eslint-disable-next-line es/no-object-hasown -- safe
873
+ module.exports = Object.hasOwn || function hasOwn(it, key) {
874
+ return hasOwnProperty(toObject(it), key);
875
+ };
876
+
877
+
878
+ /***/ }),
879
+
880
+ /***/ 4036:
881
+ /***/ (function(module) {
882
+
883
+
884
+ module.exports = {};
885
+
886
+
887
+ /***/ }),
888
+
889
+ /***/ 9810:
890
+ /***/ (function(module, __unused_webpack_exports, __webpack_require__) {
891
+
892
+
893
+ var getBuiltIn = __webpack_require__(3220);
894
+
895
+ module.exports = getBuiltIn('document', 'documentElement');
896
+
897
+
898
+ /***/ }),
899
+
900
+ /***/ 1782:
901
+ /***/ (function(module, __unused_webpack_exports, __webpack_require__) {
902
+
903
+
904
+ var DESCRIPTORS = __webpack_require__(7101);
905
+ var fails = __webpack_require__(8930);
906
+ var createElement = __webpack_require__(2998);
907
+
908
+ // Thanks to IE8 for its funny defineProperty
909
+ module.exports = !DESCRIPTORS && !fails(function () {
910
+ // eslint-disable-next-line es/no-object-defineproperty -- required for testing
911
+ return Object.defineProperty(createElement('div'), 'a', {
912
+ get: function () { return 7; }
913
+ }).a !== 7;
914
+ });
915
+
916
+
917
+ /***/ }),
918
+
919
+ /***/ 1792:
920
+ /***/ (function(module, __unused_webpack_exports, __webpack_require__) {
921
+
922
+
923
+ var uncurryThis = __webpack_require__(2289);
924
+ var fails = __webpack_require__(8930);
925
+ var classof = __webpack_require__(7409);
926
+
927
+ var $Object = Object;
928
+ var split = uncurryThis(''.split);
929
+
930
+ // fallback for non-array-like ES3 and non-enumerable old V8 strings
931
+ module.exports = fails(function () {
932
+ // throws an error in rhino, see https://github.com/mozilla/rhino/issues/346
933
+ // eslint-disable-next-line no-prototype-builtins -- safe
934
+ return !$Object('z').propertyIsEnumerable(0);
935
+ }) ? function (it) {
936
+ return classof(it) === 'String' ? split(it, '') : $Object(it);
937
+ } : $Object;
938
+
939
+
940
+ /***/ }),
941
+
942
+ /***/ 4117:
943
+ /***/ (function(module, __unused_webpack_exports, __webpack_require__) {
944
+
945
+
946
+ var uncurryThis = __webpack_require__(2289);
947
+ var isCallable = __webpack_require__(8252);
948
+ var store = __webpack_require__(8486);
949
+
950
+ var functionToString = uncurryThis(Function.toString);
951
+
952
+ // this helper broken in `core-js@3.4.1-3.4.4`, so we can't use `shared` helper
953
+ if (!isCallable(store.inspectSource)) {
954
+ store.inspectSource = function (it) {
955
+ return functionToString(it);
956
+ };
957
+ }
958
+
959
+ module.exports = store.inspectSource;
960
+
961
+
962
+ /***/ }),
963
+
964
+ /***/ 4206:
965
+ /***/ (function(module, __unused_webpack_exports, __webpack_require__) {
966
+
967
+
968
+ var NATIVE_WEAK_MAP = __webpack_require__(3337);
969
+ var globalThis = __webpack_require__(3405);
970
+ var isObject = __webpack_require__(8271);
971
+ var createNonEnumerableProperty = __webpack_require__(232);
972
+ var hasOwn = __webpack_require__(9522);
973
+ var shared = __webpack_require__(8486);
974
+ var sharedKey = __webpack_require__(4040);
975
+ var hiddenKeys = __webpack_require__(4036);
976
+
977
+ var OBJECT_ALREADY_INITIALIZED = 'Object already initialized';
978
+ var TypeError = globalThis.TypeError;
979
+ var WeakMap = globalThis.WeakMap;
980
+ var set, get, has;
981
+
982
+ var enforce = function (it) {
983
+ return has(it) ? get(it) : set(it, {});
984
+ };
985
+
986
+ var getterFor = function (TYPE) {
987
+ return function (it) {
988
+ var state;
989
+ if (!isObject(it) || (state = get(it)).type !== TYPE) {
990
+ throw new TypeError('Incompatible receiver, ' + TYPE + ' required');
991
+ } return state;
992
+ };
993
+ };
994
+
995
+ if (NATIVE_WEAK_MAP || shared.state) {
996
+ var store = shared.state || (shared.state = new WeakMap());
997
+ /* eslint-disable no-self-assign -- prototype methods protection */
998
+ store.get = store.get;
999
+ store.has = store.has;
1000
+ store.set = store.set;
1001
+ /* eslint-enable no-self-assign -- prototype methods protection */
1002
+ set = function (it, metadata) {
1003
+ if (store.has(it)) throw new TypeError(OBJECT_ALREADY_INITIALIZED);
1004
+ metadata.facade = it;
1005
+ store.set(it, metadata);
1006
+ return metadata;
1007
+ };
1008
+ get = function (it) {
1009
+ return store.get(it) || {};
1010
+ };
1011
+ has = function (it) {
1012
+ return store.has(it);
1013
+ };
1014
+ } else {
1015
+ var STATE = sharedKey('state');
1016
+ hiddenKeys[STATE] = true;
1017
+ set = function (it, metadata) {
1018
+ if (hasOwn(it, STATE)) throw new TypeError(OBJECT_ALREADY_INITIALIZED);
1019
+ metadata.facade = it;
1020
+ createNonEnumerableProperty(it, STATE, metadata);
1021
+ return metadata;
1022
+ };
1023
+ get = function (it) {
1024
+ return hasOwn(it, STATE) ? it[STATE] : {};
1025
+ };
1026
+ has = function (it) {
1027
+ return hasOwn(it, STATE);
1028
+ };
1029
+ }
1030
+
1031
+ module.exports = {
1032
+ set: set,
1033
+ get: get,
1034
+ has: has,
1035
+ enforce: enforce,
1036
+ getterFor: getterFor
1037
+ };
1038
+
1039
+
1040
+ /***/ }),
1041
+
1042
+ /***/ 450:
1043
+ /***/ (function(module, __unused_webpack_exports, __webpack_require__) {
1044
+
1045
+
1046
+ var wellKnownSymbol = __webpack_require__(2666);
1047
+ var Iterators = __webpack_require__(4988);
1048
+
1049
+ var ITERATOR = wellKnownSymbol('iterator');
1050
+ var ArrayPrototype = Array.prototype;
1051
+
1052
+ // check on default Array iterator
1053
+ module.exports = function (it) {
1054
+ return it !== undefined && (Iterators.Array === it || ArrayPrototype[ITERATOR] === it);
1055
+ };
1056
+
1057
+
1058
+ /***/ }),
1059
+
1060
+ /***/ 8431:
1061
+ /***/ (function(module, __unused_webpack_exports, __webpack_require__) {
1062
+
1063
+
1064
+ var classof = __webpack_require__(7409);
1065
+
1066
+ // `IsArray` abstract operation
1067
+ // https://tc39.es/ecma262/#sec-isarray
1068
+ // eslint-disable-next-line es/no-array-isarray -- safe
1069
+ module.exports = Array.isArray || function isArray(argument) {
1070
+ return classof(argument) === 'Array';
1071
+ };
1072
+
1073
+
1074
+ /***/ }),
1075
+
1076
+ /***/ 8252:
1077
+ /***/ (function(module) {
1078
+
1079
+
1080
+ // https://tc39.es/ecma262/#sec-IsHTMLDDA-internal-slot
1081
+ var documentAll = typeof document == 'object' && document.all;
1082
+
1083
+ // `IsCallable` abstract operation
1084
+ // https://tc39.es/ecma262/#sec-iscallable
1085
+ // eslint-disable-next-line unicorn/no-typeof-undefined -- required for testing
1086
+ module.exports = typeof documentAll == 'undefined' && documentAll !== undefined ? function (argument) {
1087
+ return typeof argument == 'function' || argument === documentAll;
1088
+ } : function (argument) {
1089
+ return typeof argument == 'function';
1090
+ };
1091
+
1092
+
1093
+ /***/ }),
1094
+
1095
+ /***/ 5129:
1096
+ /***/ (function(module, __unused_webpack_exports, __webpack_require__) {
1097
+
1098
+
1099
+ var fails = __webpack_require__(8930);
1100
+ var isCallable = __webpack_require__(8252);
1101
+
1102
+ var replacement = /#|\.prototype\./;
1103
+
1104
+ var isForced = function (feature, detection) {
1105
+ var value = data[normalize(feature)];
1106
+ return value === POLYFILL ? true
1107
+ : value === NATIVE ? false
1108
+ : isCallable(detection) ? fails(detection)
1109
+ : !!detection;
1110
+ };
1111
+
1112
+ var normalize = isForced.normalize = function (string) {
1113
+ return String(string).replace(replacement, '.').toLowerCase();
1114
+ };
1115
+
1116
+ var data = isForced.data = {};
1117
+ var NATIVE = isForced.NATIVE = 'N';
1118
+ var POLYFILL = isForced.POLYFILL = 'P';
1119
+
1120
+ module.exports = isForced;
1121
+
1122
+
1123
+ /***/ }),
1124
+
1125
+ /***/ 3022:
1126
+ /***/ (function(module) {
1127
+
1128
+
1129
+ // we can't use just `it == null` since of `document.all` special case
1130
+ // https://tc39.es/ecma262/#sec-IsHTMLDDA-internal-slot-aec
1131
+ module.exports = function (it) {
1132
+ return it === null || it === undefined;
1133
+ };
1134
+
1135
+
1136
+ /***/ }),
1137
+
1138
+ /***/ 8271:
1139
+ /***/ (function(module, __unused_webpack_exports, __webpack_require__) {
1140
+
1141
+
1142
+ var isCallable = __webpack_require__(8252);
1143
+
1144
+ module.exports = function (it) {
1145
+ return typeof it == 'object' ? it !== null : isCallable(it);
1146
+ };
1147
+
1148
+
1149
+ /***/ }),
1150
+
1151
+ /***/ 4214:
1152
+ /***/ (function(module) {
1153
+
1154
+
1155
+ module.exports = false;
1156
+
1157
+
1158
+ /***/ }),
1159
+
1160
+ /***/ 8944:
1161
+ /***/ (function(module, __unused_webpack_exports, __webpack_require__) {
1162
+
1163
+
1164
+ var getBuiltIn = __webpack_require__(3220);
1165
+ var isCallable = __webpack_require__(8252);
1166
+ var isPrototypeOf = __webpack_require__(8130);
1167
+ var USE_SYMBOL_AS_UID = __webpack_require__(5537);
1168
+
1169
+ var $Object = Object;
1170
+
1171
+ module.exports = USE_SYMBOL_AS_UID ? function (it) {
1172
+ return typeof it == 'symbol';
1173
+ } : function (it) {
1174
+ var $Symbol = getBuiltIn('Symbol');
1175
+ return isCallable($Symbol) && isPrototypeOf($Symbol.prototype, $Object(it));
1176
+ };
1177
+
1178
+
1179
+ /***/ }),
1180
+
1181
+ /***/ 6841:
1182
+ /***/ (function(module, __unused_webpack_exports, __webpack_require__) {
1183
+
1184
+
1185
+ var bind = __webpack_require__(4445);
1186
+ var call = __webpack_require__(3176);
1187
+ var anObject = __webpack_require__(3162);
1188
+ var tryToString = __webpack_require__(1958);
1189
+ var isArrayIteratorMethod = __webpack_require__(450);
1190
+ var lengthOfArrayLike = __webpack_require__(6013);
1191
+ var isPrototypeOf = __webpack_require__(8130);
1192
+ var getIterator = __webpack_require__(4750);
1193
+ var getIteratorMethod = __webpack_require__(8258);
1194
+ var iteratorClose = __webpack_require__(1380);
1195
+
1196
+ var $TypeError = TypeError;
1197
+
1198
+ var Result = function (stopped, result) {
1199
+ this.stopped = stopped;
1200
+ this.result = result;
1201
+ };
1202
+
1203
+ var ResultPrototype = Result.prototype;
1204
+
1205
+ module.exports = function (iterable, unboundFunction, options) {
1206
+ var that = options && options.that;
1207
+ var AS_ENTRIES = !!(options && options.AS_ENTRIES);
1208
+ var IS_RECORD = !!(options && options.IS_RECORD);
1209
+ var IS_ITERATOR = !!(options && options.IS_ITERATOR);
1210
+ var INTERRUPTED = !!(options && options.INTERRUPTED);
1211
+ var fn = bind(unboundFunction, that);
1212
+ var iterator, iterFn, index, length, result, next, step;
1213
+
1214
+ var stop = function (condition) {
1215
+ var $iterator = iterator;
1216
+ iterator = undefined;
1217
+ if ($iterator) iteratorClose($iterator, 'normal');
1218
+ return new Result(true, condition);
1219
+ };
1220
+
1221
+ var callFn = function (value) {
1222
+ if (AS_ENTRIES) {
1223
+ anObject(value);
1224
+ return INTERRUPTED ? fn(value[0], value[1], stop) : fn(value[0], value[1]);
1225
+ } return INTERRUPTED ? fn(value, stop) : fn(value);
1226
+ };
1227
+
1228
+ if (IS_RECORD) {
1229
+ iterator = iterable.iterator;
1230
+ } else if (IS_ITERATOR) {
1231
+ iterator = iterable;
1232
+ } else {
1233
+ iterFn = getIteratorMethod(iterable);
1234
+ if (!iterFn) throw new $TypeError(tryToString(iterable) + ' is not iterable');
1235
+ // optimisation for array iterators
1236
+ if (isArrayIteratorMethod(iterFn)) {
1237
+ for (index = 0, length = lengthOfArrayLike(iterable); length > index; index++) {
1238
+ result = callFn(iterable[index]);
1239
+ if (result && isPrototypeOf(ResultPrototype, result)) return result;
1240
+ } return new Result(false);
1241
+ }
1242
+ iterator = getIterator(iterable, iterFn);
1243
+ }
1244
+
1245
+ next = IS_RECORD ? iterable.next : iterator.next;
1246
+ while (!(step = call(next, iterator)).done) {
1247
+ // `IteratorValue` errors should propagate without closing the iterator
1248
+ var value = step.value;
1249
+ try {
1250
+ result = callFn(value);
1251
+ } catch (error) {
1252
+ if (iterator) iteratorClose(iterator, 'throw', error);
1253
+ else throw error;
1254
+ }
1255
+ if (typeof result == 'object' && result && isPrototypeOf(ResultPrototype, result)) return result;
1256
+ } return new Result(false);
1257
+ };
1258
+
1259
+
1260
+ /***/ }),
1261
+
1262
+ /***/ 7462:
1263
+ /***/ (function(module, __unused_webpack_exports, __webpack_require__) {
1264
+
1265
+
1266
+ var iteratorClose = __webpack_require__(1380);
1267
+
1268
+ module.exports = function (iters, kind, value) {
1269
+ for (var i = iters.length - 1; i >= 0; i--) {
1270
+ if (iters[i] === undefined) continue;
1271
+ try {
1272
+ value = iteratorClose(iters[i].iterator, kind, value);
1273
+ } catch (error) {
1274
+ kind = 'throw';
1275
+ value = error;
1276
+ }
1277
+ }
1278
+ if (kind === 'throw') throw value;
1279
+ return value;
1280
+ };
1281
+
1282
+
1283
+ /***/ }),
1284
+
1285
+ /***/ 1380:
1286
+ /***/ (function(module, __unused_webpack_exports, __webpack_require__) {
1287
+
1288
+
1289
+ var call = __webpack_require__(3176);
1290
+ var anObject = __webpack_require__(3162);
1291
+ var getMethod = __webpack_require__(3377);
1292
+
1293
+ module.exports = function (iterator, kind, value) {
1294
+ var innerResult, innerError;
1295
+ anObject(iterator);
1296
+ try {
1297
+ innerResult = getMethod(iterator, 'return');
1298
+ if (!innerResult) {
1299
+ if (kind === 'throw') throw value;
1300
+ return value;
1301
+ }
1302
+ innerResult = call(innerResult, iterator);
1303
+ } catch (error) {
1304
+ innerError = true;
1305
+ innerResult = error;
1306
+ }
1307
+ if (kind === 'throw') throw value;
1308
+ if (innerError) throw innerResult;
1309
+ anObject(innerResult);
1310
+ return value;
1311
+ };
1312
+
1313
+
1314
+ /***/ }),
1315
+
1316
+ /***/ 7211:
1317
+ /***/ (function(module, __unused_webpack_exports, __webpack_require__) {
1318
+
1319
+
1320
+ var call = __webpack_require__(3176);
1321
+ var create = __webpack_require__(3369);
1322
+ var createNonEnumerableProperty = __webpack_require__(232);
1323
+ var defineBuiltIns = __webpack_require__(2976);
1324
+ var wellKnownSymbol = __webpack_require__(2666);
1325
+ var InternalStateModule = __webpack_require__(4206);
1326
+ var getMethod = __webpack_require__(3377);
1327
+ var IteratorPrototype = (__webpack_require__(2274).IteratorPrototype);
1328
+ var createIterResultObject = __webpack_require__(4992);
1329
+ var iteratorClose = __webpack_require__(1380);
1330
+ var iteratorCloseAll = __webpack_require__(7462);
1331
+
1332
+ var TO_STRING_TAG = wellKnownSymbol('toStringTag');
1333
+ var ITERATOR_HELPER = 'IteratorHelper';
1334
+ var WRAP_FOR_VALID_ITERATOR = 'WrapForValidIterator';
1335
+ var NORMAL = 'normal';
1336
+ var THROW = 'throw';
1337
+ var setInternalState = InternalStateModule.set;
1338
+
1339
+ var createIteratorProxyPrototype = function (IS_ITERATOR) {
1340
+ var getInternalState = InternalStateModule.getterFor(IS_ITERATOR ? WRAP_FOR_VALID_ITERATOR : ITERATOR_HELPER);
1341
+
1342
+ return defineBuiltIns(create(IteratorPrototype), {
1343
+ next: function next() {
1344
+ var state = getInternalState(this);
1345
+ // for simplification:
1346
+ // for `%WrapForValidIteratorPrototype%.next` or with `state.returnHandlerResult` our `nextHandler` returns `IterResultObject`
1347
+ // for `%IteratorHelperPrototype%.next` - just a value
1348
+ if (IS_ITERATOR) return state.nextHandler();
1349
+ if (state.done) return createIterResultObject(undefined, true);
1350
+ try {
1351
+ var result = state.nextHandler();
1352
+ return state.returnHandlerResult ? result : createIterResultObject(result, state.done);
1353
+ } catch (error) {
1354
+ state.done = true;
1355
+ throw error;
1356
+ }
1357
+ },
1358
+ 'return': function () {
1359
+ var state = getInternalState(this);
1360
+ var iterator = state.iterator;
1361
+ var done = state.done;
1362
+ state.done = true;
1363
+ if (IS_ITERATOR) {
1364
+ var returnMethod = getMethod(iterator, 'return');
1365
+ return returnMethod ? call(returnMethod, iterator) : createIterResultObject(undefined, true);
1366
+ }
1367
+ if (done) return createIterResultObject(undefined, true);
1368
+ if (state.inner) try {
1369
+ iteratorClose(state.inner.iterator, NORMAL);
1370
+ } catch (error) {
1371
+ return iteratorClose(iterator, THROW, error);
1372
+ }
1373
+ if (state.openIters) try {
1374
+ iteratorCloseAll(state.openIters, NORMAL);
1375
+ } catch (error) {
1376
+ if (iterator) return iteratorClose(iterator, THROW, error);
1377
+ throw error;
1378
+ }
1379
+ if (iterator) iteratorClose(iterator, NORMAL);
1380
+ return createIterResultObject(undefined, true);
1381
+ }
1382
+ });
1383
+ };
1384
+
1385
+ var WrapForValidIteratorPrototype = createIteratorProxyPrototype(true);
1386
+ var IteratorHelperPrototype = createIteratorProxyPrototype(false);
1387
+
1388
+ createNonEnumerableProperty(IteratorHelperPrototype, TO_STRING_TAG, 'Iterator Helper');
1389
+
1390
+ module.exports = function (nextHandler, IS_ITERATOR, RETURN_HANDLER_RESULT) {
1391
+ var IteratorProxy = function Iterator(record, state) {
1392
+ if (state) {
1393
+ state.iterator = record.iterator;
1394
+ state.next = record.next;
1395
+ } else state = record;
1396
+ state.type = IS_ITERATOR ? WRAP_FOR_VALID_ITERATOR : ITERATOR_HELPER;
1397
+ state.returnHandlerResult = !!RETURN_HANDLER_RESULT;
1398
+ state.nextHandler = nextHandler;
1399
+ state.counter = 0;
1400
+ state.done = false;
1401
+ setInternalState(this, state);
1402
+ };
1403
+
1404
+ IteratorProxy.prototype = IS_ITERATOR ? WrapForValidIteratorPrototype : IteratorHelperPrototype;
1405
+
1406
+ return IteratorProxy;
1407
+ };
1408
+
1409
+
1410
+ /***/ }),
1411
+
1412
+ /***/ 6483:
1413
+ /***/ (function(module) {
1414
+
1415
+
1416
+ // Should throw an error on invalid iterator
1417
+ // https://issues.chromium.org/issues/336839115
1418
+ module.exports = function (methodName, argument) {
1419
+ // eslint-disable-next-line es/no-iterator -- required for testing
1420
+ var method = typeof Iterator == 'function' && Iterator.prototype[methodName];
1421
+ if (method) try {
1422
+ method.call({ next: null }, argument).next();
1423
+ } catch (error) {
1424
+ return true;
1425
+ }
1426
+ };
1427
+
1428
+
1429
+ /***/ }),
1430
+
1431
+ /***/ 2229:
1432
+ /***/ (function(module, __unused_webpack_exports, __webpack_require__) {
1433
+
1434
+
1435
+ var globalThis = __webpack_require__(3405);
1436
+
1437
+ // https://github.com/tc39/ecma262/pull/3467
1438
+ module.exports = function (METHOD_NAME, ExpectedError) {
1439
+ var Iterator = globalThis.Iterator;
1440
+ var IteratorPrototype = Iterator && Iterator.prototype;
1441
+ var method = IteratorPrototype && IteratorPrototype[METHOD_NAME];
1442
+
1443
+ var CLOSED = false;
1444
+
1445
+ if (method) try {
1446
+ method.call({
1447
+ next: function () { return { done: true }; },
1448
+ 'return': function () { CLOSED = true; }
1449
+ }, -1);
1450
+ } catch (error) {
1451
+ // https://bugs.webkit.org/show_bug.cgi?id=291195
1452
+ if (!(error instanceof ExpectedError)) CLOSED = false;
1453
+ }
1454
+
1455
+ if (!CLOSED) return method;
1456
+ };
1457
+
1458
+
1459
+ /***/ }),
1460
+
1461
+ /***/ 2274:
1462
+ /***/ (function(module, __unused_webpack_exports, __webpack_require__) {
1463
+
1464
+
1465
+ var fails = __webpack_require__(8930);
1466
+ var isCallable = __webpack_require__(8252);
1467
+ var isObject = __webpack_require__(8271);
1468
+ var create = __webpack_require__(3369);
1469
+ var getPrototypeOf = __webpack_require__(8778);
1470
+ var defineBuiltIn = __webpack_require__(3589);
1471
+ var wellKnownSymbol = __webpack_require__(2666);
1472
+ var IS_PURE = __webpack_require__(4214);
1473
+
1474
+ var ITERATOR = wellKnownSymbol('iterator');
1475
+ var BUGGY_SAFARI_ITERATORS = false;
1476
+
1477
+ // `%IteratorPrototype%` object
1478
+ // https://tc39.es/ecma262/#sec-%iteratorprototype%-object
1479
+ var IteratorPrototype, PrototypeOfArrayIteratorPrototype, arrayIterator;
1480
+
1481
+ /* eslint-disable es/no-array-prototype-keys -- safe */
1482
+ if ([].keys) {
1483
+ arrayIterator = [].keys();
1484
+ // Safari 8 has buggy iterators w/o `next`
1485
+ if (!('next' in arrayIterator)) BUGGY_SAFARI_ITERATORS = true;
1486
+ else {
1487
+ PrototypeOfArrayIteratorPrototype = getPrototypeOf(getPrototypeOf(arrayIterator));
1488
+ if (PrototypeOfArrayIteratorPrototype !== Object.prototype) IteratorPrototype = PrototypeOfArrayIteratorPrototype;
1489
+ }
1490
+ }
1491
+
1492
+ var NEW_ITERATOR_PROTOTYPE = !isObject(IteratorPrototype) || fails(function () {
1493
+ var test = {};
1494
+ // FF44- legacy iterators case
1495
+ return IteratorPrototype[ITERATOR].call(test) !== test;
1496
+ });
1497
+
1498
+ if (NEW_ITERATOR_PROTOTYPE) IteratorPrototype = {};
1499
+ else if (IS_PURE) IteratorPrototype = create(IteratorPrototype);
1500
+
1501
+ // `%IteratorPrototype%[@@iterator]()` method
1502
+ // https://tc39.es/ecma262/#sec-%iteratorprototype%-@@iterator
1503
+ if (!isCallable(IteratorPrototype[ITERATOR])) {
1504
+ defineBuiltIn(IteratorPrototype, ITERATOR, function () {
1505
+ return this;
1506
+ });
1507
+ }
1508
+
1509
+ module.exports = {
1510
+ IteratorPrototype: IteratorPrototype,
1511
+ BUGGY_SAFARI_ITERATORS: BUGGY_SAFARI_ITERATORS
1512
+ };
1513
+
1514
+
1515
+ /***/ }),
1516
+
1517
+ /***/ 4988:
1518
+ /***/ (function(module) {
1519
+
1520
+
1521
+ module.exports = {};
1522
+
1523
+
1524
+ /***/ }),
1525
+
1526
+ /***/ 6013:
1527
+ /***/ (function(module, __unused_webpack_exports, __webpack_require__) {
1528
+
1529
+
1530
+ var toLength = __webpack_require__(5531);
1531
+
1532
+ // `LengthOfArrayLike` abstract operation
1533
+ // https://tc39.es/ecma262/#sec-lengthofarraylike
1534
+ module.exports = function (obj) {
1535
+ return toLength(obj.length);
1536
+ };
1537
+
1538
+
1539
+ /***/ }),
1540
+
1541
+ /***/ 4034:
1542
+ /***/ (function(module, __unused_webpack_exports, __webpack_require__) {
1543
+
1544
+
1545
+ var uncurryThis = __webpack_require__(2289);
1546
+ var fails = __webpack_require__(8930);
1547
+ var isCallable = __webpack_require__(8252);
1548
+ var hasOwn = __webpack_require__(9522);
1549
+ var DESCRIPTORS = __webpack_require__(7101);
1550
+ var CONFIGURABLE_FUNCTION_NAME = (__webpack_require__(3743).CONFIGURABLE);
1551
+ var inspectSource = __webpack_require__(4117);
1552
+ var InternalStateModule = __webpack_require__(4206);
1553
+
1554
+ var enforceInternalState = InternalStateModule.enforce;
1555
+ var getInternalState = InternalStateModule.get;
1556
+ var $String = String;
1557
+ // eslint-disable-next-line es/no-object-defineproperty -- safe
1558
+ var defineProperty = Object.defineProperty;
1559
+ var stringSlice = uncurryThis(''.slice);
1560
+ var replace = uncurryThis(''.replace);
1561
+ var join = uncurryThis([].join);
1562
+
1563
+ var CONFIGURABLE_LENGTH = DESCRIPTORS && !fails(function () {
1564
+ return defineProperty(function () { /* empty */ }, 'length', { value: 8 }).length !== 8;
1565
+ });
1566
+
1567
+ var TEMPLATE = String(String).split('String');
1568
+
1569
+ var makeBuiltIn = module.exports = function (value, name, options) {
1570
+ if (stringSlice($String(name), 0, 7) === 'Symbol(') {
1571
+ name = '[' + replace($String(name), /^Symbol\(([^)]*)\).*$/, '$1') + ']';
1572
+ }
1573
+ if (options && options.getter) name = 'get ' + name;
1574
+ if (options && options.setter) name = 'set ' + name;
1575
+ if (!hasOwn(value, 'name') || (CONFIGURABLE_FUNCTION_NAME && value.name !== name)) {
1576
+ if (DESCRIPTORS) defineProperty(value, 'name', { value: name, configurable: true });
1577
+ else value.name = name;
1578
+ }
1579
+ if (CONFIGURABLE_LENGTH && options && hasOwn(options, 'arity') && value.length !== options.arity) {
1580
+ defineProperty(value, 'length', { value: options.arity });
1581
+ }
1582
+ try {
1583
+ if (options && hasOwn(options, 'constructor') && options.constructor) {
1584
+ if (DESCRIPTORS) defineProperty(value, 'prototype', { writable: false });
1585
+ // in V8 ~ Chrome 53, prototypes of some methods, like `Array.prototype.values`, are non-writable
1586
+ } else if (value.prototype) value.prototype = undefined;
1587
+ } catch (error) { /* empty */ }
1588
+ var state = enforceInternalState(value);
1589
+ if (!hasOwn(state, 'source')) {
1590
+ state.source = join(TEMPLATE, typeof name == 'string' ? name : '');
1591
+ } return value;
1592
+ };
1593
+
1594
+ // add fake Function#toString for correct work wrapped methods / constructors with methods like LoDash isNative
1595
+ // eslint-disable-next-line no-extend-native -- required
1596
+ Function.prototype.toString = makeBuiltIn(function toString() {
1597
+ return isCallable(this) && getInternalState(this).source || inspectSource(this);
1598
+ }, 'toString');
1599
+
1600
+
1601
+ /***/ }),
1602
+
1603
+ /***/ 7966:
1604
+ /***/ (function(module) {
1605
+
1606
+
1607
+ var ceil = Math.ceil;
1608
+ var floor = Math.floor;
1609
+
1610
+ // `Math.trunc` method
1611
+ // https://tc39.es/ecma262/#sec-math.trunc
1612
+ // eslint-disable-next-line es/no-math-trunc -- safe
1613
+ module.exports = Math.trunc || function trunc(x) {
1614
+ var n = +x;
1615
+ return (n > 0 ? floor : ceil)(n);
1616
+ };
1617
+
1618
+
1619
+ /***/ }),
1620
+
1621
+ /***/ 3369:
1622
+ /***/ (function(module, __unused_webpack_exports, __webpack_require__) {
1623
+
1624
+
1625
+ /* global ActiveXObject -- old IE, WSH */
1626
+ var anObject = __webpack_require__(3162);
1627
+ var definePropertiesModule = __webpack_require__(5422);
1628
+ var enumBugKeys = __webpack_require__(7658);
1629
+ var hiddenKeys = __webpack_require__(4036);
1630
+ var html = __webpack_require__(9810);
1631
+ var documentCreateElement = __webpack_require__(2998);
1632
+ var sharedKey = __webpack_require__(4040);
1633
+
1634
+ var GT = '>';
1635
+ var LT = '<';
1636
+ var PROTOTYPE = 'prototype';
1637
+ var SCRIPT = 'script';
1638
+ var IE_PROTO = sharedKey('IE_PROTO');
1639
+
1640
+ var EmptyConstructor = function () { /* empty */ };
1641
+
1642
+ var scriptTag = function (content) {
1643
+ return LT + SCRIPT + GT + content + LT + '/' + SCRIPT + GT;
1644
+ };
1645
+
1646
+ // Create object with fake `null` prototype: use ActiveX Object with cleared prototype
1647
+ var NullProtoObjectViaActiveX = function (activeXDocument) {
1648
+ activeXDocument.write(scriptTag(''));
1649
+ activeXDocument.close();
1650
+ var temp = activeXDocument.parentWindow.Object;
1651
+ // eslint-disable-next-line no-useless-assignment -- avoid memory leak
1652
+ activeXDocument = null;
1653
+ return temp;
1654
+ };
1655
+
1656
+ // Create object with fake `null` prototype: use iframe Object with cleared prototype
1657
+ var NullProtoObjectViaIFrame = function () {
1658
+ // Thrash, waste and sodomy: IE GC bug
1659
+ var iframe = documentCreateElement('iframe');
1660
+ var JS = 'java' + SCRIPT + ':';
1661
+ var iframeDocument;
1662
+ iframe.style.display = 'none';
1663
+ html.appendChild(iframe);
1664
+ // https://github.com/zloirock/core-js/issues/475
1665
+ iframe.src = String(JS);
1666
+ iframeDocument = iframe.contentWindow.document;
1667
+ iframeDocument.open();
1668
+ iframeDocument.write(scriptTag('document.F=Object'));
1669
+ iframeDocument.close();
1670
+ return iframeDocument.F;
1671
+ };
1672
+
1673
+ // Check for document.domain and active x support
1674
+ // No need to use active x approach when document.domain is not set
1675
+ // see https://github.com/es-shims/es5-shim/issues/150
1676
+ // variation of https://github.com/kitcambridge/es5-shim/commit/4f738ac066346
1677
+ // avoid IE GC bug
1678
+ var activeXDocument;
1679
+ var NullProtoObject = function () {
1680
+ try {
1681
+ activeXDocument = new ActiveXObject('htmlfile');
1682
+ } catch (error) { /* ignore */ }
1683
+ NullProtoObject = typeof document != 'undefined'
1684
+ ? document.domain && activeXDocument
1685
+ ? NullProtoObjectViaActiveX(activeXDocument) // old IE
1686
+ : NullProtoObjectViaIFrame()
1687
+ : NullProtoObjectViaActiveX(activeXDocument); // WSH
1688
+ var length = enumBugKeys.length;
1689
+ while (length--) delete NullProtoObject[PROTOTYPE][enumBugKeys[length]];
1690
+ return NullProtoObject();
1691
+ };
1692
+
1693
+ hiddenKeys[IE_PROTO] = true;
1694
+
1695
+ // `Object.create` method
1696
+ // https://tc39.es/ecma262/#sec-object.create
1697
+ // eslint-disable-next-line es/no-object-create -- safe
1698
+ module.exports = Object.create || function create(O, Properties) {
1699
+ var result;
1700
+ if (O !== null) {
1701
+ EmptyConstructor[PROTOTYPE] = anObject(O);
1702
+ result = new EmptyConstructor();
1703
+ EmptyConstructor[PROTOTYPE] = null;
1704
+ // add "__proto__" for Object.getPrototypeOf polyfill
1705
+ result[IE_PROTO] = O;
1706
+ } else result = NullProtoObject();
1707
+ return Properties === undefined ? result : definePropertiesModule.f(result, Properties);
1708
+ };
1709
+
1710
+
1711
+ /***/ }),
1712
+
1713
+ /***/ 5422:
1714
+ /***/ (function(__unused_webpack_module, exports, __webpack_require__) {
1715
+
1716
+
1717
+ var DESCRIPTORS = __webpack_require__(7101);
1718
+ var V8_PROTOTYPE_DEFINE_BUG = __webpack_require__(3667);
1719
+ var definePropertyModule = __webpack_require__(1250);
1720
+ var anObject = __webpack_require__(3162);
1721
+ var toIndexedObject = __webpack_require__(2364);
1722
+ var objectKeys = __webpack_require__(7185);
1723
+
1724
+ // `Object.defineProperties` method
1725
+ // https://tc39.es/ecma262/#sec-object.defineproperties
1726
+ // eslint-disable-next-line es/no-object-defineproperties -- safe
1727
+ exports.f = DESCRIPTORS && !V8_PROTOTYPE_DEFINE_BUG ? Object.defineProperties : function defineProperties(O, Properties) {
1728
+ anObject(O);
1729
+ var props = toIndexedObject(Properties);
1730
+ var keys = objectKeys(Properties);
1731
+ var length = keys.length;
1732
+ var index = 0;
1733
+ var key;
1734
+ while (length > index) definePropertyModule.f(O, key = keys[index++], props[key]);
1735
+ return O;
1736
+ };
1737
+
1738
+
1739
+ /***/ }),
1740
+
1741
+ /***/ 1250:
1742
+ /***/ (function(__unused_webpack_module, exports, __webpack_require__) {
1743
+
1744
+
1745
+ var DESCRIPTORS = __webpack_require__(7101);
1746
+ var IE8_DOM_DEFINE = __webpack_require__(1782);
1747
+ var V8_PROTOTYPE_DEFINE_BUG = __webpack_require__(3667);
1748
+ var anObject = __webpack_require__(3162);
1749
+ var toPropertyKey = __webpack_require__(3704);
1750
+
1751
+ var $TypeError = TypeError;
1752
+ // eslint-disable-next-line es/no-object-defineproperty -- safe
1753
+ var $defineProperty = Object.defineProperty;
1754
+ // eslint-disable-next-line es/no-object-getownpropertydescriptor -- safe
1755
+ var $getOwnPropertyDescriptor = Object.getOwnPropertyDescriptor;
1756
+ var ENUMERABLE = 'enumerable';
1757
+ var CONFIGURABLE = 'configurable';
1758
+ var WRITABLE = 'writable';
1759
+
1760
+ // `Object.defineProperty` method
1761
+ // https://tc39.es/ecma262/#sec-object.defineproperty
1762
+ exports.f = DESCRIPTORS ? V8_PROTOTYPE_DEFINE_BUG ? function defineProperty(O, P, Attributes) {
1763
+ anObject(O);
1764
+ P = toPropertyKey(P);
1765
+ anObject(Attributes);
1766
+ if (typeof O === 'function' && P === 'prototype' && 'value' in Attributes && WRITABLE in Attributes && !Attributes[WRITABLE]) {
1767
+ var current = $getOwnPropertyDescriptor(O, P);
1768
+ if (current && current[WRITABLE]) {
1769
+ O[P] = Attributes.value;
1770
+ Attributes = {
1771
+ configurable: CONFIGURABLE in Attributes ? Attributes[CONFIGURABLE] : current[CONFIGURABLE],
1772
+ enumerable: ENUMERABLE in Attributes ? Attributes[ENUMERABLE] : current[ENUMERABLE],
1773
+ writable: false
1774
+ };
1775
+ }
1776
+ } return $defineProperty(O, P, Attributes);
1777
+ } : $defineProperty : function defineProperty(O, P, Attributes) {
1778
+ anObject(O);
1779
+ P = toPropertyKey(P);
1780
+ anObject(Attributes);
1781
+ if (IE8_DOM_DEFINE) try {
1782
+ return $defineProperty(O, P, Attributes);
1783
+ } catch (error) { /* empty */ }
1784
+ if ('get' in Attributes || 'set' in Attributes) throw new $TypeError('Accessors not supported');
1785
+ if ('value' in Attributes) O[P] = Attributes.value;
1786
+ return O;
1787
+ };
1788
+
1789
+
1790
+ /***/ }),
1791
+
1792
+ /***/ 6056:
1793
+ /***/ (function(__unused_webpack_module, exports, __webpack_require__) {
1794
+
1795
+
1796
+ var DESCRIPTORS = __webpack_require__(7101);
1797
+ var call = __webpack_require__(3176);
1798
+ var propertyIsEnumerableModule = __webpack_require__(6640);
1799
+ var createPropertyDescriptor = __webpack_require__(9299);
1800
+ var toIndexedObject = __webpack_require__(2364);
1801
+ var toPropertyKey = __webpack_require__(3704);
1802
+ var hasOwn = __webpack_require__(9522);
1803
+ var IE8_DOM_DEFINE = __webpack_require__(1782);
1804
+
1805
+ // eslint-disable-next-line es/no-object-getownpropertydescriptor -- safe
1806
+ var $getOwnPropertyDescriptor = Object.getOwnPropertyDescriptor;
1807
+
1808
+ // `Object.getOwnPropertyDescriptor` method
1809
+ // https://tc39.es/ecma262/#sec-object.getownpropertydescriptor
1810
+ exports.f = DESCRIPTORS ? $getOwnPropertyDescriptor : function getOwnPropertyDescriptor(O, P) {
1811
+ O = toIndexedObject(O);
1812
+ P = toPropertyKey(P);
1813
+ if (IE8_DOM_DEFINE) try {
1814
+ return $getOwnPropertyDescriptor(O, P);
1815
+ } catch (error) { /* empty */ }
1816
+ if (hasOwn(O, P)) return createPropertyDescriptor(!call(propertyIsEnumerableModule.f, O, P), O[P]);
1817
+ };
1818
+
1819
+
1820
+ /***/ }),
1821
+
1822
+ /***/ 7469:
1823
+ /***/ (function(__unused_webpack_module, exports, __webpack_require__) {
1824
+
1825
+
1826
+ var internalObjectKeys = __webpack_require__(6067);
1827
+ var enumBugKeys = __webpack_require__(7658);
1828
+
1829
+ var hiddenKeys = enumBugKeys.concat('length', 'prototype');
1830
+
1831
+ // `Object.getOwnPropertyNames` method
1832
+ // https://tc39.es/ecma262/#sec-object.getownpropertynames
1833
+ // eslint-disable-next-line es/no-object-getownpropertynames -- safe
1834
+ exports.f = Object.getOwnPropertyNames || function getOwnPropertyNames(O) {
1835
+ return internalObjectKeys(O, hiddenKeys);
1836
+ };
1837
+
1838
+
1839
+ /***/ }),
1840
+
1841
+ /***/ 4540:
1842
+ /***/ (function(__unused_webpack_module, exports) {
1843
+
1844
+
1845
+ // eslint-disable-next-line es/no-object-getownpropertysymbols -- safe
1846
+ exports.f = Object.getOwnPropertySymbols;
1847
+
1848
+
1849
+ /***/ }),
1850
+
1851
+ /***/ 8778:
1852
+ /***/ (function(module, __unused_webpack_exports, __webpack_require__) {
1853
+
1854
+
1855
+ var hasOwn = __webpack_require__(9522);
1856
+ var isCallable = __webpack_require__(8252);
1857
+ var toObject = __webpack_require__(1724);
1858
+ var sharedKey = __webpack_require__(4040);
1859
+ var CORRECT_PROTOTYPE_GETTER = __webpack_require__(6280);
1860
+
1861
+ var IE_PROTO = sharedKey('IE_PROTO');
1862
+ var $Object = Object;
1863
+ var ObjectPrototype = $Object.prototype;
1864
+
1865
+ // `Object.getPrototypeOf` method
1866
+ // https://tc39.es/ecma262/#sec-object.getprototypeof
1867
+ // eslint-disable-next-line es/no-object-getprototypeof -- safe
1868
+ module.exports = CORRECT_PROTOTYPE_GETTER ? $Object.getPrototypeOf : function (O) {
1869
+ var object = toObject(O);
1870
+ if (hasOwn(object, IE_PROTO)) return object[IE_PROTO];
1871
+ var constructor = object.constructor;
1872
+ if (isCallable(constructor) && object instanceof constructor) {
1873
+ return constructor.prototype;
1874
+ } return object instanceof $Object ? ObjectPrototype : null;
1875
+ };
1876
+
1877
+
1878
+ /***/ }),
1879
+
1880
+ /***/ 8130:
1881
+ /***/ (function(module, __unused_webpack_exports, __webpack_require__) {
1882
+
1883
+
1884
+ var uncurryThis = __webpack_require__(2289);
1885
+
1886
+ module.exports = uncurryThis({}.isPrototypeOf);
1887
+
1888
+
1889
+ /***/ }),
1890
+
1891
+ /***/ 6067:
1892
+ /***/ (function(module, __unused_webpack_exports, __webpack_require__) {
1893
+
1894
+
1895
+ var uncurryThis = __webpack_require__(2289);
1896
+ var hasOwn = __webpack_require__(9522);
1897
+ var toIndexedObject = __webpack_require__(2364);
1898
+ var indexOf = (__webpack_require__(8658).indexOf);
1899
+ var hiddenKeys = __webpack_require__(4036);
1900
+
1901
+ var push = uncurryThis([].push);
1902
+
1903
+ module.exports = function (object, names) {
1904
+ var O = toIndexedObject(object);
1905
+ var i = 0;
1906
+ var result = [];
1907
+ var key;
1908
+ for (key in O) !hasOwn(hiddenKeys, key) && hasOwn(O, key) && push(result, key);
1909
+ // Don't enum bug & hidden keys
1910
+ while (names.length > i) if (hasOwn(O, key = names[i++])) {
1911
+ ~indexOf(result, key) || push(result, key);
1912
+ }
1913
+ return result;
1914
+ };
1915
+
1916
+
1917
+ /***/ }),
1918
+
1919
+ /***/ 7185:
1920
+ /***/ (function(module, __unused_webpack_exports, __webpack_require__) {
1921
+
1922
+
1923
+ var internalObjectKeys = __webpack_require__(6067);
1924
+ var enumBugKeys = __webpack_require__(7658);
1925
+
1926
+ // `Object.keys` method
1927
+ // https://tc39.es/ecma262/#sec-object.keys
1928
+ // eslint-disable-next-line es/no-object-keys -- safe
1929
+ module.exports = Object.keys || function keys(O) {
1930
+ return internalObjectKeys(O, enumBugKeys);
1931
+ };
1932
+
1933
+
1934
+ /***/ }),
1935
+
1936
+ /***/ 6640:
1937
+ /***/ (function(__unused_webpack_module, exports) {
1938
+
1939
+
1940
+ var $propertyIsEnumerable = {}.propertyIsEnumerable;
1941
+ // eslint-disable-next-line es/no-object-getownpropertydescriptor -- safe
1942
+ var getOwnPropertyDescriptor = Object.getOwnPropertyDescriptor;
1943
+
1944
+ // Nashorn ~ JDK8 bug
1945
+ var NASHORN_BUG = getOwnPropertyDescriptor && !$propertyIsEnumerable.call({ 1: 2 }, 1);
1946
+
1947
+ // `Object.prototype.propertyIsEnumerable` method implementation
1948
+ // https://tc39.es/ecma262/#sec-object.prototype.propertyisenumerable
1949
+ exports.f = NASHORN_BUG ? function propertyIsEnumerable(V) {
1950
+ var descriptor = getOwnPropertyDescriptor(this, V);
1951
+ return !!descriptor && descriptor.enumerable;
1952
+ } : $propertyIsEnumerable;
1953
+
1954
+
1955
+ /***/ }),
1956
+
1957
+ /***/ 5519:
1958
+ /***/ (function(module, __unused_webpack_exports, __webpack_require__) {
1959
+
1960
+
1961
+ var call = __webpack_require__(3176);
1962
+ var isCallable = __webpack_require__(8252);
1963
+ var isObject = __webpack_require__(8271);
1964
+
1965
+ var $TypeError = TypeError;
1966
+
1967
+ // `OrdinaryToPrimitive` abstract operation
1968
+ // https://tc39.es/ecma262/#sec-ordinarytoprimitive
1969
+ module.exports = function (input, pref) {
1970
+ var fn, val;
1971
+ if (pref === 'string' && isCallable(fn = input.toString) && !isObject(val = call(fn, input))) return val;
1972
+ if (isCallable(fn = input.valueOf) && !isObject(val = call(fn, input))) return val;
1973
+ if (pref !== 'string' && isCallable(fn = input.toString) && !isObject(val = call(fn, input))) return val;
1974
+ throw new $TypeError("Can't convert object to primitive value");
1975
+ };
1976
+
1977
+
1978
+ /***/ }),
1979
+
1980
+ /***/ 5456:
1981
+ /***/ (function(module, __unused_webpack_exports, __webpack_require__) {
1982
+
1983
+
1984
+ var getBuiltIn = __webpack_require__(3220);
1985
+ var uncurryThis = __webpack_require__(2289);
1986
+ var getOwnPropertyNamesModule = __webpack_require__(7469);
1987
+ var getOwnPropertySymbolsModule = __webpack_require__(4540);
1988
+ var anObject = __webpack_require__(3162);
1989
+
1990
+ var concat = uncurryThis([].concat);
1991
+
1992
+ // all object keys, includes non-enumerable and symbols
1993
+ module.exports = getBuiltIn('Reflect', 'ownKeys') || function ownKeys(it) {
1994
+ var keys = getOwnPropertyNamesModule.f(anObject(it));
1995
+ var getOwnPropertySymbols = getOwnPropertySymbolsModule.f;
1996
+ return getOwnPropertySymbols ? concat(keys, getOwnPropertySymbols(it)) : keys;
1997
+ };
1998
+
1999
+
2000
+ /***/ }),
2001
+
2002
+ /***/ 2341:
2003
+ /***/ (function(module, __unused_webpack_exports, __webpack_require__) {
2004
+
2005
+
2006
+ var isNullOrUndefined = __webpack_require__(3022);
2007
+
2008
+ var $TypeError = TypeError;
2009
+
2010
+ // `RequireObjectCoercible` abstract operation
2011
+ // https://tc39.es/ecma262/#sec-requireobjectcoercible
2012
+ module.exports = function (it) {
2013
+ if (isNullOrUndefined(it)) throw new $TypeError("Can't call method on " + it);
2014
+ return it;
2015
+ };
2016
+
2017
+
2018
+ /***/ }),
2019
+
2020
+ /***/ 4040:
2021
+ /***/ (function(module, __unused_webpack_exports, __webpack_require__) {
2022
+
2023
+
2024
+ var shared = __webpack_require__(8762);
2025
+ var uid = __webpack_require__(2161);
2026
+
2027
+ var keys = shared('keys');
2028
+
2029
+ module.exports = function (key) {
2030
+ return keys[key] || (keys[key] = uid(key));
2031
+ };
2032
+
2033
+
2034
+ /***/ }),
2035
+
2036
+ /***/ 8486:
2037
+ /***/ (function(module, __unused_webpack_exports, __webpack_require__) {
2038
+
2039
+
2040
+ var IS_PURE = __webpack_require__(4214);
2041
+ var globalThis = __webpack_require__(3405);
2042
+ var defineGlobalProperty = __webpack_require__(7214);
2043
+
2044
+ var SHARED = '__core-js_shared__';
2045
+ var store = module.exports = globalThis[SHARED] || defineGlobalProperty(SHARED, {});
2046
+
2047
+ (store.versions || (store.versions = [])).push({
2048
+ version: '3.49.0',
2049
+ mode: IS_PURE ? 'pure' : 'global',
2050
+ copyright: '© 2013–2025 Denis Pushkarev (zloirock.ru), 2025–2026 CoreJS Company (core-js.io). All rights reserved.',
2051
+ license: 'https://github.com/zloirock/core-js/blob/v3.49.0/LICENSE',
2052
+ source: 'https://github.com/zloirock/core-js'
2053
+ });
2054
+
2055
+
2056
+ /***/ }),
2057
+
2058
+ /***/ 8762:
2059
+ /***/ (function(module, __unused_webpack_exports, __webpack_require__) {
2060
+
2061
+
2062
+ var store = __webpack_require__(8486);
2063
+
2064
+ module.exports = function (key, value) {
2065
+ return store[key] || (store[key] = value || {});
2066
+ };
2067
+
2068
+
2069
+ /***/ }),
2070
+
2071
+ /***/ 1520:
2072
+ /***/ (function(module, __unused_webpack_exports, __webpack_require__) {
2073
+
2074
+
2075
+ /* eslint-disable es/no-symbol -- required for testing */
2076
+ var V8_VERSION = __webpack_require__(5168);
2077
+ var fails = __webpack_require__(8930);
2078
+ var globalThis = __webpack_require__(3405);
2079
+
2080
+ var $String = globalThis.String;
2081
+
2082
+ // eslint-disable-next-line es/no-object-getownpropertysymbols -- required for testing
2083
+ module.exports = !!Object.getOwnPropertySymbols && !fails(function () {
2084
+ var symbol = Symbol('symbol detection');
2085
+ // Chrome 38 Symbol has incorrect toString conversion
2086
+ // `get-own-property-symbols` polyfill symbols converted to object are not Symbol instances
2087
+ // nb: Do not call `String` directly to avoid this being optimized out to `symbol+''` which will,
2088
+ // of course, fail.
2089
+ return !$String(symbol) || !(Object(symbol) instanceof Symbol) ||
2090
+ // Chrome 38-40 symbols are not inherited from DOM collections prototypes to instances
2091
+ !Symbol.sham && V8_VERSION && V8_VERSION < 41;
2092
+ });
2093
+
2094
+
2095
+ /***/ }),
2096
+
2097
+ /***/ 9283:
2098
+ /***/ (function(module, __unused_webpack_exports, __webpack_require__) {
2099
+
2100
+
2101
+ var toIntegerOrInfinity = __webpack_require__(136);
2102
+
2103
+ var max = Math.max;
2104
+ var min = Math.min;
2105
+
2106
+ // Helper for a popular repeating case of the spec:
2107
+ // Let integer be ? ToInteger(index).
2108
+ // If integer < 0, let result be max((length + integer), 0); else let result be min(integer, length).
2109
+ module.exports = function (index, length) {
2110
+ var integer = toIntegerOrInfinity(index);
2111
+ return integer < 0 ? max(integer + length, 0) : min(integer, length);
2112
+ };
2113
+
2114
+
2115
+ /***/ }),
2116
+
2117
+ /***/ 2364:
2118
+ /***/ (function(module, __unused_webpack_exports, __webpack_require__) {
2119
+
2120
+
2121
+ // toObject with fallback for non-array-like ES3 strings
2122
+ var IndexedObject = __webpack_require__(1792);
2123
+ var requireObjectCoercible = __webpack_require__(2341);
2124
+
2125
+ module.exports = function (it) {
2126
+ return IndexedObject(requireObjectCoercible(it));
2127
+ };
2128
+
2129
+
2130
+ /***/ }),
2131
+
2132
+ /***/ 136:
2133
+ /***/ (function(module, __unused_webpack_exports, __webpack_require__) {
2134
+
2135
+
2136
+ var trunc = __webpack_require__(7966);
2137
+
2138
+ // `ToIntegerOrInfinity` abstract operation
2139
+ // https://tc39.es/ecma262/#sec-tointegerorinfinity
2140
+ module.exports = function (argument) {
2141
+ var number = +argument;
2142
+ // eslint-disable-next-line no-self-compare -- NaN check
2143
+ return number !== number || number === 0 ? 0 : trunc(number);
2144
+ };
2145
+
2146
+
2147
+ /***/ }),
2148
+
2149
+ /***/ 5531:
2150
+ /***/ (function(module, __unused_webpack_exports, __webpack_require__) {
2151
+
2152
+
2153
+ var toIntegerOrInfinity = __webpack_require__(136);
2154
+
2155
+ var min = Math.min;
2156
+
2157
+ // `ToLength` abstract operation
2158
+ // https://tc39.es/ecma262/#sec-tolength
2159
+ module.exports = function (argument) {
2160
+ var len = toIntegerOrInfinity(argument);
2161
+ return len > 0 ? min(len, 0x1FFFFFFFFFFFFF) : 0; // 2 ** 53 - 1 == 9007199254740991
2162
+ };
2163
+
2164
+
2165
+ /***/ }),
2166
+
2167
+ /***/ 1724:
2168
+ /***/ (function(module, __unused_webpack_exports, __webpack_require__) {
2169
+
2170
+
2171
+ var requireObjectCoercible = __webpack_require__(2341);
2172
+
2173
+ var $Object = Object;
2174
+
2175
+ // `ToObject` abstract operation
2176
+ // https://tc39.es/ecma262/#sec-toobject
2177
+ module.exports = function (argument) {
2178
+ return $Object(requireObjectCoercible(argument));
2179
+ };
2180
+
2181
+
2182
+ /***/ }),
2183
+
2184
+ /***/ 4610:
2185
+ /***/ (function(module, __unused_webpack_exports, __webpack_require__) {
2186
+
2187
+
2188
+ var call = __webpack_require__(3176);
2189
+ var isObject = __webpack_require__(8271);
2190
+ var isSymbol = __webpack_require__(8944);
2191
+ var getMethod = __webpack_require__(3377);
2192
+ var ordinaryToPrimitive = __webpack_require__(5519);
2193
+ var wellKnownSymbol = __webpack_require__(2666);
2194
+
2195
+ var $TypeError = TypeError;
2196
+ var TO_PRIMITIVE = wellKnownSymbol('toPrimitive');
2197
+
2198
+ // `ToPrimitive` abstract operation
2199
+ // https://tc39.es/ecma262/#sec-toprimitive
2200
+ module.exports = function (input, pref) {
2201
+ if (!isObject(input) || isSymbol(input)) return input;
2202
+ var exoticToPrim = getMethod(input, TO_PRIMITIVE);
2203
+ var result;
2204
+ if (exoticToPrim) {
2205
+ if (pref === undefined) pref = 'default';
2206
+ result = call(exoticToPrim, input, pref);
2207
+ if (!isObject(result) || isSymbol(result)) return result;
2208
+ throw new $TypeError("Can't convert object to primitive value");
2209
+ }
2210
+ if (pref === undefined) pref = 'number';
2211
+ return ordinaryToPrimitive(input, pref);
2212
+ };
2213
+
2214
+
2215
+ /***/ }),
2216
+
2217
+ /***/ 3704:
2218
+ /***/ (function(module, __unused_webpack_exports, __webpack_require__) {
2219
+
2220
+
2221
+ var toPrimitive = __webpack_require__(4610);
2222
+ var isSymbol = __webpack_require__(8944);
2223
+
2224
+ // `ToPropertyKey` abstract operation
2225
+ // https://tc39.es/ecma262/#sec-topropertykey
2226
+ module.exports = function (argument) {
2227
+ var key = toPrimitive(argument, 'string');
2228
+ return isSymbol(key) ? key : key + '';
2229
+ };
2230
+
2231
+
2232
+ /***/ }),
2233
+
2234
+ /***/ 1153:
2235
+ /***/ (function(module, __unused_webpack_exports, __webpack_require__) {
2236
+
2237
+
2238
+ var wellKnownSymbol = __webpack_require__(2666);
2239
+
2240
+ var TO_STRING_TAG = wellKnownSymbol('toStringTag');
2241
+ var test = {};
2242
+ // eslint-disable-next-line unicorn/no-immediate-mutation -- ES3 syntax limitation
2243
+ test[TO_STRING_TAG] = 'z';
2244
+
2245
+ module.exports = String(test) === '[object z]';
2246
+
2247
+
2248
+ /***/ }),
2249
+
2250
+ /***/ 1958:
2251
+ /***/ (function(module) {
2252
+
2253
+
2254
+ var $String = String;
2255
+
2256
+ module.exports = function (argument) {
2257
+ try {
2258
+ return $String(argument);
2259
+ } catch (error) {
2260
+ return 'Object';
2261
+ }
2262
+ };
2263
+
2264
+
2265
+ /***/ }),
2266
+
2267
+ /***/ 2161:
2268
+ /***/ (function(module, __unused_webpack_exports, __webpack_require__) {
2269
+
2270
+
2271
+ var uncurryThis = __webpack_require__(2289);
2272
+
2273
+ var id = 0;
2274
+ var postfix = Math.random();
2275
+ var toString = uncurryThis(1.1.toString);
2276
+
2277
+ module.exports = function (key) {
2278
+ return 'Symbol(' + (key === undefined ? '' : key) + ')_' + toString(++id + postfix, 36);
2279
+ };
2280
+
2281
+
2282
+ /***/ }),
2283
+
2284
+ /***/ 5537:
2285
+ /***/ (function(module, __unused_webpack_exports, __webpack_require__) {
2286
+
2287
+
2288
+ /* eslint-disable es/no-symbol -- required for testing */
2289
+ var NATIVE_SYMBOL = __webpack_require__(1520);
2290
+
2291
+ module.exports = NATIVE_SYMBOL &&
2292
+ !Symbol.sham &&
2293
+ typeof Symbol.iterator == 'symbol';
2294
+
2295
+
2296
+ /***/ }),
2297
+
2298
+ /***/ 3667:
2299
+ /***/ (function(module, __unused_webpack_exports, __webpack_require__) {
2300
+
2301
+
2302
+ var DESCRIPTORS = __webpack_require__(7101);
2303
+ var fails = __webpack_require__(8930);
2304
+
2305
+ // V8 ~ Chrome 36-
2306
+ // https://bugs.chromium.org/p/v8/issues/detail?id=3334
2307
+ module.exports = DESCRIPTORS && fails(function () {
2308
+ // eslint-disable-next-line es/no-object-defineproperty -- required for testing
2309
+ return Object.defineProperty(function () { /* empty */ }, 'prototype', {
2310
+ value: 42,
2311
+ writable: false
2312
+ }).prototype !== 42;
2313
+ });
2314
+
2315
+
2316
+ /***/ }),
2317
+
2318
+ /***/ 3337:
2319
+ /***/ (function(module, __unused_webpack_exports, __webpack_require__) {
2320
+
2321
+
2322
+ var globalThis = __webpack_require__(3405);
2323
+ var isCallable = __webpack_require__(8252);
2324
+
2325
+ var WeakMap = globalThis.WeakMap;
2326
+
2327
+ module.exports = isCallable(WeakMap) && /native code/.test(String(WeakMap));
2328
+
2329
+
2330
+ /***/ }),
2331
+
2332
+ /***/ 2666:
2333
+ /***/ (function(module, __unused_webpack_exports, __webpack_require__) {
2334
+
2335
+
2336
+ var globalThis = __webpack_require__(3405);
2337
+ var shared = __webpack_require__(8762);
2338
+ var hasOwn = __webpack_require__(9522);
2339
+ var uid = __webpack_require__(2161);
2340
+ var NATIVE_SYMBOL = __webpack_require__(1520);
2341
+ var USE_SYMBOL_AS_UID = __webpack_require__(5537);
2342
+
2343
+ var Symbol = globalThis.Symbol;
2344
+ var WellKnownSymbolsStore = shared('wks');
2345
+ var createWellKnownSymbol = USE_SYMBOL_AS_UID ? Symbol['for'] || Symbol : Symbol && Symbol.withoutSetter || uid;
2346
+
2347
+ module.exports = function (name) {
2348
+ if (!hasOwn(WellKnownSymbolsStore, name)) {
2349
+ WellKnownSymbolsStore[name] = NATIVE_SYMBOL && hasOwn(Symbol, name)
2350
+ ? Symbol[name]
2351
+ : createWellKnownSymbol('Symbol.' + name);
2352
+ } return WellKnownSymbolsStore[name];
2353
+ };
2354
+
2355
+
2356
+ /***/ }),
2357
+
2358
+ /***/ 9690:
2359
+ /***/ (function(__unused_webpack_module, __unused_webpack_exports, __webpack_require__) {
2360
+
2361
+
2362
+ var $ = __webpack_require__(7725);
2363
+ var $includes = (__webpack_require__(8658).includes);
2364
+ var fails = __webpack_require__(8930);
2365
+ var addToUnscopables = __webpack_require__(7938);
2366
+
2367
+ // FF99+ bug
2368
+ var BROKEN_ON_SPARSE = fails(function () {
2369
+ // eslint-disable-next-line es/no-array-prototype-includes -- detection
2370
+ return !Array(1).includes();
2371
+ });
2372
+
2373
+ // Safari 26.4- bug
2374
+ var BROKEN_ON_SPARSE_WITH_FROM_INDEX = fails(function () {
2375
+ // eslint-disable-next-line no-sparse-arrays, es/no-array-prototype-includes -- detection
2376
+ return [, 1].includes(undefined, 1);
2377
+ });
2378
+
2379
+ // `Array.prototype.includes` method
2380
+ // https://tc39.es/ecma262/#sec-array.prototype.includes
2381
+ $({ target: 'Array', proto: true, forced: BROKEN_ON_SPARSE || BROKEN_ON_SPARSE_WITH_FROM_INDEX }, {
2382
+ includes: function includes(el /* , fromIndex = 0 */) {
2383
+ return $includes(this, el, arguments.length > 1 ? arguments[1] : undefined);
2384
+ }
2385
+ });
2386
+
2387
+ // https://tc39.es/ecma262/#sec-array.prototype-@@unscopables
2388
+ addToUnscopables('includes');
2389
+
2390
+
2391
+ /***/ }),
2392
+
2393
+ /***/ 4495:
2394
+ /***/ (function(__unused_webpack_module, __unused_webpack_exports, __webpack_require__) {
2395
+
2396
+
2397
+ var $ = __webpack_require__(7725);
2398
+ var toObject = __webpack_require__(1724);
2399
+ var lengthOfArrayLike = __webpack_require__(6013);
2400
+ var setArrayLength = __webpack_require__(592);
2401
+ var doesNotExceedSafeInteger = __webpack_require__(6994);
2402
+ var fails = __webpack_require__(8930);
2403
+
2404
+ var INCORRECT_TO_LENGTH = fails(function () {
2405
+ return [].push.call({ length: 0x100000000 }, 1) !== 4294967297;
2406
+ });
2407
+
2408
+ // V8 <= 121 and Safari <= 15.4; FF < 23 throws InternalError
2409
+ // https://bugs.chromium.org/p/v8/issues/detail?id=12681
2410
+ var properErrorOnNonWritableLength = function () {
2411
+ try {
2412
+ // eslint-disable-next-line es/no-object-defineproperty -- safe
2413
+ Object.defineProperty([], 'length', { writable: false }).push();
2414
+ } catch (error) {
2415
+ return error instanceof TypeError;
2416
+ }
2417
+ };
2418
+
2419
+ var FORCED = INCORRECT_TO_LENGTH || !properErrorOnNonWritableLength();
2420
+
2421
+ // `Array.prototype.push` method
2422
+ // https://tc39.es/ecma262/#sec-array.prototype.push
2423
+ $({ target: 'Array', proto: true, arity: 1, forced: FORCED }, {
2424
+ // eslint-disable-next-line no-unused-vars -- required for `.length`
2425
+ push: function push(item) {
2426
+ var O = toObject(this);
2427
+ var len = lengthOfArrayLike(O);
2428
+ var argCount = arguments.length;
2429
+ doesNotExceedSafeInteger(len + argCount);
2430
+ for (var i = 0; i < argCount; i++) {
2431
+ O[len] = arguments[i];
2432
+ len++;
2433
+ }
2434
+ setArrayLength(O, len);
2435
+ return len;
2436
+ }
2437
+ });
2438
+
2439
+
2440
+ /***/ }),
2441
+
2442
+ /***/ 7622:
2443
+ /***/ (function(__unused_webpack_module, __unused_webpack_exports, __webpack_require__) {
2444
+
2445
+
2446
+ var $ = __webpack_require__(7725);
2447
+ var globalThis = __webpack_require__(3405);
2448
+ var anInstance = __webpack_require__(462);
2449
+ var anObject = __webpack_require__(3162);
2450
+ var isCallable = __webpack_require__(8252);
2451
+ var getPrototypeOf = __webpack_require__(8778);
2452
+ var defineBuiltInAccessor = __webpack_require__(7893);
2453
+ var createProperty = __webpack_require__(721);
2454
+ var fails = __webpack_require__(8930);
2455
+ var hasOwn = __webpack_require__(9522);
2456
+ var wellKnownSymbol = __webpack_require__(2666);
2457
+ var IteratorPrototype = (__webpack_require__(2274).IteratorPrototype);
2458
+ var DESCRIPTORS = __webpack_require__(7101);
2459
+ var IS_PURE = __webpack_require__(4214);
2460
+
2461
+ var CONSTRUCTOR = 'constructor';
2462
+ var ITERATOR = 'Iterator';
2463
+ var TO_STRING_TAG = wellKnownSymbol('toStringTag');
2464
+
2465
+ var $TypeError = TypeError;
2466
+ var NativeIterator = globalThis[ITERATOR];
2467
+
2468
+ // FF56- have non-standard global helper `Iterator`
2469
+ var FORCED = IS_PURE
2470
+ || !isCallable(NativeIterator)
2471
+ || NativeIterator.prototype !== IteratorPrototype
2472
+ // FF44- non-standard `Iterator` passes previous tests
2473
+ || !fails(function () { NativeIterator({}); });
2474
+
2475
+ var IteratorConstructor = function Iterator() {
2476
+ anInstance(this, IteratorPrototype);
2477
+ if (getPrototypeOf(this) === IteratorPrototype) throw new $TypeError('Abstract class Iterator not directly constructable');
2478
+ };
2479
+
2480
+ var defineIteratorPrototypeAccessor = function (key, value) {
2481
+ if (DESCRIPTORS) {
2482
+ defineBuiltInAccessor(IteratorPrototype, key, {
2483
+ configurable: true,
2484
+ get: function () {
2485
+ return value;
2486
+ },
2487
+ set: function (replacement) {
2488
+ anObject(this);
2489
+ if (this === IteratorPrototype) throw new $TypeError("You can't redefine this property");
2490
+ if (hasOwn(this, key)) this[key] = replacement;
2491
+ else createProperty(this, key, replacement);
2492
+ }
2493
+ });
2494
+ } else IteratorPrototype[key] = value;
2495
+ };
2496
+
2497
+ if (!hasOwn(IteratorPrototype, TO_STRING_TAG)) defineIteratorPrototypeAccessor(TO_STRING_TAG, ITERATOR);
2498
+
2499
+ if (FORCED || !hasOwn(IteratorPrototype, CONSTRUCTOR) || IteratorPrototype[CONSTRUCTOR] === Object) {
2500
+ defineIteratorPrototypeAccessor(CONSTRUCTOR, IteratorConstructor);
2501
+ }
2502
+
2503
+ IteratorConstructor.prototype = IteratorPrototype;
2504
+
2505
+ // `Iterator` constructor
2506
+ // https://tc39.es/ecma262/#sec-iterator
2507
+ $({ global: true, constructor: true, forced: FORCED }, {
2508
+ Iterator: IteratorConstructor
2509
+ });
2510
+
2511
+
2512
+ /***/ }),
2513
+
2514
+ /***/ 3149:
2515
+ /***/ (function(__unused_webpack_module, __unused_webpack_exports, __webpack_require__) {
2516
+
2517
+
2518
+ var $ = __webpack_require__(7725);
2519
+ var call = __webpack_require__(3176);
2520
+ var iterate = __webpack_require__(6841);
2521
+ var aCallable = __webpack_require__(2481);
2522
+ var anObject = __webpack_require__(3162);
2523
+ var getIteratorDirect = __webpack_require__(6226);
2524
+ var iteratorClose = __webpack_require__(1380);
2525
+ var iteratorHelperWithoutClosingOnEarlyError = __webpack_require__(2229);
2526
+
2527
+ var everyWithoutClosingOnEarlyError = iteratorHelperWithoutClosingOnEarlyError('every', TypeError);
2528
+
2529
+ // `Iterator.prototype.every` method
2530
+ // https://tc39.es/ecma262/#sec-iterator.prototype.every
2531
+ $({ target: 'Iterator', proto: true, real: true, forced: everyWithoutClosingOnEarlyError }, {
2532
+ every: function every(predicate) {
2533
+ anObject(this);
2534
+ try {
2535
+ aCallable(predicate);
2536
+ } catch (error) {
2537
+ iteratorClose(this, 'throw', error);
2538
+ }
2539
+
2540
+ if (everyWithoutClosingOnEarlyError) return call(everyWithoutClosingOnEarlyError, this, predicate);
2541
+
2542
+ var record = getIteratorDirect(this);
2543
+ var counter = 0;
2544
+ return !iterate(record, function (value, stop) {
2545
+ if (!predicate(value, counter++)) return stop();
2546
+ }, { IS_RECORD: true, INTERRUPTED: true }).stopped;
2547
+ }
2548
+ });
2549
+
2550
+
2551
+ /***/ }),
2552
+
2553
+ /***/ 746:
2554
+ /***/ (function(__unused_webpack_module, __unused_webpack_exports, __webpack_require__) {
2555
+
2556
+
2557
+ var $ = __webpack_require__(7725);
2558
+ var call = __webpack_require__(3176);
2559
+ var aCallable = __webpack_require__(2481);
2560
+ var anObject = __webpack_require__(3162);
2561
+ var getIteratorDirect = __webpack_require__(6226);
2562
+ var createIteratorProxy = __webpack_require__(7211);
2563
+ var callWithSafeIterationClosing = __webpack_require__(9836);
2564
+ var IS_PURE = __webpack_require__(4214);
2565
+ var iteratorClose = __webpack_require__(1380);
2566
+ var iteratorHelperThrowsOnInvalidIterator = __webpack_require__(6483);
2567
+ var iteratorHelperWithoutClosingOnEarlyError = __webpack_require__(2229);
2568
+
2569
+ var FILTER_WITHOUT_THROWING_ON_INVALID_ITERATOR = !IS_PURE && !iteratorHelperThrowsOnInvalidIterator('filter', function () { /* empty */ });
2570
+ var filterWithoutClosingOnEarlyError = !IS_PURE && !FILTER_WITHOUT_THROWING_ON_INVALID_ITERATOR
2571
+ && iteratorHelperWithoutClosingOnEarlyError('filter', TypeError);
2572
+
2573
+ var FORCED = IS_PURE || FILTER_WITHOUT_THROWING_ON_INVALID_ITERATOR || filterWithoutClosingOnEarlyError;
2574
+
2575
+ var IteratorProxy = createIteratorProxy(function () {
2576
+ var iterator = this.iterator;
2577
+ var predicate = this.predicate;
2578
+ var next = this.next;
2579
+ var result, done, value;
2580
+ while (true) {
2581
+ result = anObject(call(next, iterator));
2582
+ done = this.done = !!result.done;
2583
+ if (done) return;
2584
+ value = result.value;
2585
+ if (callWithSafeIterationClosing(iterator, predicate, [value, this.counter++], true)) return value;
2586
+ }
2587
+ });
2588
+
2589
+ // `Iterator.prototype.filter` method
2590
+ // https://tc39.es/ecma262/#sec-iterator.prototype.filter
2591
+ $({ target: 'Iterator', proto: true, real: true, forced: FORCED }, {
2592
+ filter: function filter(predicate) {
2593
+ anObject(this);
2594
+ try {
2595
+ aCallable(predicate);
2596
+ } catch (error) {
2597
+ iteratorClose(this, 'throw', error);
2598
+ }
2599
+
2600
+ if (filterWithoutClosingOnEarlyError) return call(filterWithoutClosingOnEarlyError, this, predicate);
2601
+
2602
+ return new IteratorProxy(getIteratorDirect(this), {
2603
+ predicate: predicate
2604
+ });
2605
+ }
2606
+ });
2607
+
2608
+
2609
+ /***/ }),
2610
+
2611
+ /***/ 4059:
2612
+ /***/ (function(__unused_webpack_module, __unused_webpack_exports, __webpack_require__) {
2613
+
2614
+
2615
+ var $ = __webpack_require__(7725);
2616
+ var call = __webpack_require__(3176);
2617
+ var iterate = __webpack_require__(6841);
2618
+ var aCallable = __webpack_require__(2481);
2619
+ var anObject = __webpack_require__(3162);
2620
+ var getIteratorDirect = __webpack_require__(6226);
2621
+ var iteratorClose = __webpack_require__(1380);
2622
+ var iteratorHelperWithoutClosingOnEarlyError = __webpack_require__(2229);
2623
+
2624
+ var findWithoutClosingOnEarlyError = iteratorHelperWithoutClosingOnEarlyError('find', TypeError);
2625
+
2626
+ // `Iterator.prototype.find` method
2627
+ // https://tc39.es/ecma262/#sec-iterator.prototype.find
2628
+ $({ target: 'Iterator', proto: true, real: true, forced: findWithoutClosingOnEarlyError }, {
2629
+ find: function find(predicate) {
2630
+ anObject(this);
2631
+ try {
2632
+ aCallable(predicate);
2633
+ } catch (error) {
2634
+ iteratorClose(this, 'throw', error);
2635
+ }
2636
+
2637
+ if (findWithoutClosingOnEarlyError) return call(findWithoutClosingOnEarlyError, this, predicate);
2638
+
2639
+ var record = getIteratorDirect(this);
2640
+ var counter = 0;
2641
+ return iterate(record, function (value, stop) {
2642
+ if (predicate(value, counter++)) return stop(value);
2643
+ }, { IS_RECORD: true, INTERRUPTED: true }).result;
2644
+ }
2645
+ });
2646
+
2647
+
2648
+ /***/ }),
2649
+
2650
+ /***/ 1119:
2651
+ /***/ (function(__unused_webpack_module, __unused_webpack_exports, __webpack_require__) {
2652
+
2653
+
2654
+ var $ = __webpack_require__(7725);
2655
+ var call = __webpack_require__(3176);
2656
+ var iterate = __webpack_require__(6841);
2657
+ var aCallable = __webpack_require__(2481);
2658
+ var anObject = __webpack_require__(3162);
2659
+ var getIteratorDirect = __webpack_require__(6226);
2660
+ var iteratorClose = __webpack_require__(1380);
2661
+ var iteratorHelperWithoutClosingOnEarlyError = __webpack_require__(2229);
2662
+
2663
+ var forEachWithoutClosingOnEarlyError = iteratorHelperWithoutClosingOnEarlyError('forEach', TypeError);
2664
+
2665
+ // `Iterator.prototype.forEach` method
2666
+ // https://tc39.es/ecma262/#sec-iterator.prototype.foreach
2667
+ $({ target: 'Iterator', proto: true, real: true, forced: forEachWithoutClosingOnEarlyError }, {
2668
+ forEach: function forEach(fn) {
2669
+ anObject(this);
2670
+ try {
2671
+ aCallable(fn);
2672
+ } catch (error) {
2673
+ iteratorClose(this, 'throw', error);
2674
+ }
2675
+
2676
+ if (forEachWithoutClosingOnEarlyError) return call(forEachWithoutClosingOnEarlyError, this, fn);
2677
+
2678
+ var record = getIteratorDirect(this);
2679
+ var counter = 0;
2680
+ iterate(record, function (value) {
2681
+ fn(value, counter++);
2682
+ }, { IS_RECORD: true });
2683
+ }
2684
+ });
2685
+
2686
+
2687
+ /***/ }),
2688
+
2689
+ /***/ 8660:
2690
+ /***/ (function(__unused_webpack_module, __unused_webpack_exports, __webpack_require__) {
2691
+
2692
+
2693
+ var $ = __webpack_require__(7725);
2694
+ var call = __webpack_require__(3176);
2695
+ var aCallable = __webpack_require__(2481);
2696
+ var anObject = __webpack_require__(3162);
2697
+ var getIteratorDirect = __webpack_require__(6226);
2698
+ var createIteratorProxy = __webpack_require__(7211);
2699
+ var callWithSafeIterationClosing = __webpack_require__(9836);
2700
+ var iteratorClose = __webpack_require__(1380);
2701
+ var iteratorHelperThrowsOnInvalidIterator = __webpack_require__(6483);
2702
+ var iteratorHelperWithoutClosingOnEarlyError = __webpack_require__(2229);
2703
+ var IS_PURE = __webpack_require__(4214);
2704
+
2705
+ var MAP_WITHOUT_THROWING_ON_INVALID_ITERATOR = !IS_PURE && !iteratorHelperThrowsOnInvalidIterator('map', function () { /* empty */ });
2706
+ var mapWithoutClosingOnEarlyError = !IS_PURE && !MAP_WITHOUT_THROWING_ON_INVALID_ITERATOR
2707
+ && iteratorHelperWithoutClosingOnEarlyError('map', TypeError);
2708
+
2709
+ var FORCED = IS_PURE || MAP_WITHOUT_THROWING_ON_INVALID_ITERATOR || mapWithoutClosingOnEarlyError;
2710
+
2711
+ var IteratorProxy = createIteratorProxy(function () {
2712
+ var iterator = this.iterator;
2713
+ var result = anObject(call(this.next, iterator));
2714
+ var done = this.done = !!result.done;
2715
+ if (!done) return callWithSafeIterationClosing(iterator, this.mapper, [result.value, this.counter++], true);
2716
+ });
2717
+
2718
+ // `Iterator.prototype.map` method
2719
+ // https://tc39.es/ecma262/#sec-iterator.prototype.map
2720
+ $({ target: 'Iterator', proto: true, real: true, forced: FORCED }, {
2721
+ map: function map(mapper) {
2722
+ anObject(this);
2723
+ try {
2724
+ aCallable(mapper);
2725
+ } catch (error) {
2726
+ iteratorClose(this, 'throw', error);
2727
+ }
2728
+
2729
+ if (mapWithoutClosingOnEarlyError) return call(mapWithoutClosingOnEarlyError, this, mapper);
2730
+
2731
+ return new IteratorProxy(getIteratorDirect(this), {
2732
+ mapper: mapper
2733
+ });
2734
+ }
2735
+ });
2736
+
2737
+
2738
+ /***/ }),
2739
+
2740
+ /***/ 882:
2741
+ /***/ (function(__unused_webpack_module, __unused_webpack_exports, __webpack_require__) {
2742
+
2743
+
2744
+ var $ = __webpack_require__(7725);
2745
+ var iterate = __webpack_require__(6841);
2746
+ var aCallable = __webpack_require__(2481);
2747
+ var anObject = __webpack_require__(3162);
2748
+ var getIteratorDirect = __webpack_require__(6226);
2749
+ var iteratorClose = __webpack_require__(1380);
2750
+ var iteratorHelperWithoutClosingOnEarlyError = __webpack_require__(2229);
2751
+ var apply = __webpack_require__(5990);
2752
+ var fails = __webpack_require__(8930);
2753
+
2754
+ var $TypeError = TypeError;
2755
+
2756
+ // https://bugs.webkit.org/show_bug.cgi?id=291651
2757
+ var FAILS_ON_INITIAL_UNDEFINED = fails(function () {
2758
+ // eslint-disable-next-line es/no-iterator-prototype-reduce, es/no-array-prototype-keys, array-callback-return -- required for testing
2759
+ [].keys().reduce(function () { /* empty */ }, undefined);
2760
+ });
2761
+
2762
+ var reduceWithoutClosingOnEarlyError = !FAILS_ON_INITIAL_UNDEFINED && iteratorHelperWithoutClosingOnEarlyError('reduce', $TypeError);
2763
+
2764
+ // `Iterator.prototype.reduce` method
2765
+ // https://tc39.es/ecma262/#sec-iterator.prototype.reduce
2766
+ $({ target: 'Iterator', proto: true, real: true, forced: FAILS_ON_INITIAL_UNDEFINED || reduceWithoutClosingOnEarlyError }, {
2767
+ reduce: function reduce(reducer /* , initialValue */) {
2768
+ anObject(this);
2769
+ try {
2770
+ aCallable(reducer);
2771
+ } catch (error) {
2772
+ iteratorClose(this, 'throw', error);
2773
+ }
2774
+
2775
+ var noInitial = arguments.length < 2;
2776
+ var accumulator = noInitial ? undefined : arguments[1];
2777
+ if (reduceWithoutClosingOnEarlyError) {
2778
+ return apply(reduceWithoutClosingOnEarlyError, this, noInitial ? [reducer] : [reducer, accumulator]);
2779
+ }
2780
+ var record = getIteratorDirect(this);
2781
+ var counter = 0;
2782
+ iterate(record, function (value) {
2783
+ if (noInitial) {
2784
+ noInitial = false;
2785
+ accumulator = value;
2786
+ } else {
2787
+ accumulator = reducer(accumulator, value, counter);
2788
+ }
2789
+ counter++;
2790
+ }, { IS_RECORD: true });
2791
+ if (noInitial) throw new $TypeError('Reduce of empty iterator with no initial value');
2792
+ return accumulator;
2793
+ }
2794
+ });
2795
+
2796
+
2797
+ /***/ }),
2798
+
2799
+ /***/ 5528:
2800
+ /***/ (function(__unused_webpack_module, __unused_webpack_exports, __webpack_require__) {
2801
+
2802
+
2803
+ var $ = __webpack_require__(7725);
2804
+ var call = __webpack_require__(3176);
2805
+ var iterate = __webpack_require__(6841);
2806
+ var aCallable = __webpack_require__(2481);
2807
+ var anObject = __webpack_require__(3162);
2808
+ var getIteratorDirect = __webpack_require__(6226);
2809
+ var iteratorClose = __webpack_require__(1380);
2810
+ var iteratorHelperWithoutClosingOnEarlyError = __webpack_require__(2229);
2811
+
2812
+ var someWithoutClosingOnEarlyError = iteratorHelperWithoutClosingOnEarlyError('some', TypeError);
2813
+
2814
+ // `Iterator.prototype.some` method
2815
+ // https://tc39.es/ecma262/#sec-iterator.prototype.some
2816
+ $({ target: 'Iterator', proto: true, real: true, forced: someWithoutClosingOnEarlyError }, {
2817
+ some: function some(predicate) {
2818
+ anObject(this);
2819
+ try {
2820
+ aCallable(predicate);
2821
+ } catch (error) {
2822
+ iteratorClose(this, 'throw', error);
2823
+ }
2824
+
2825
+ if (someWithoutClosingOnEarlyError) return call(someWithoutClosingOnEarlyError, this, predicate);
2826
+
2827
+ var record = getIteratorDirect(this);
2828
+ var counter = 0;
2829
+ return iterate(record, function (value, stop) {
2830
+ if (predicate(value, counter++)) return stop();
2831
+ }, { IS_RECORD: true, INTERRUPTED: true }).stopped;
2832
+ }
2833
+ });
2834
+
2835
+
2836
+ /***/ })
2837
+
2838
+ /******/ });
2839
+ /************************************************************************/
2840
+ /******/ // The module cache
2841
+ /******/ var __webpack_module_cache__ = {};
2842
+ /******/
2843
+ /******/ // The require function
2844
+ /******/ function __webpack_require__(moduleId) {
2845
+ /******/ // Check if module is in cache
2846
+ /******/ var cachedModule = __webpack_module_cache__[moduleId];
2847
+ /******/ if (cachedModule !== undefined) {
2848
+ /******/ return cachedModule.exports;
2849
+ /******/ }
2850
+ /******/ // Create a new module (and put it into the cache)
2851
+ /******/ var module = __webpack_module_cache__[moduleId] = {
2852
+ /******/ // no module.id needed
2853
+ /******/ // no module.loaded needed
2854
+ /******/ exports: {}
2855
+ /******/ };
2856
+ /******/
2857
+ /******/ // Execute the module function
2858
+ /******/ __webpack_modules__[moduleId].call(module.exports, module, module.exports, __webpack_require__);
2859
+ /******/
2860
+ /******/ // Return the exports of the module
2861
+ /******/ return module.exports;
2862
+ /******/ }
2863
+ /******/
2864
+ /************************************************************************/
2865
+ /******/ /* webpack/runtime/define property getters */
2866
+ /******/ !function() {
2867
+ /******/ // define getter functions for harmony exports
2868
+ /******/ __webpack_require__.d = function(exports, definition) {
2869
+ /******/ for(var key in definition) {
2870
+ /******/ if(__webpack_require__.o(definition, key) && !__webpack_require__.o(exports, key)) {
2871
+ /******/ Object.defineProperty(exports, key, { enumerable: true, get: definition[key] });
2872
+ /******/ }
2873
+ /******/ }
2874
+ /******/ };
2875
+ /******/ }();
2876
+ /******/
2877
+ /******/ /* webpack/runtime/global */
2878
+ /******/ !function() {
2879
+ /******/ __webpack_require__.g = (function() {
2880
+ /******/ if (typeof globalThis === 'object') return globalThis;
2881
+ /******/ try {
2882
+ /******/ return this || new Function('return this')();
2883
+ /******/ } catch (e) {
2884
+ /******/ if (typeof window === 'object') return window;
2885
+ /******/ }
2886
+ /******/ })();
2887
+ /******/ }();
2888
+ /******/
2889
+ /******/ /* webpack/runtime/hasOwnProperty shorthand */
2890
+ /******/ !function() {
2891
+ /******/ __webpack_require__.o = function(obj, prop) { return Object.prototype.hasOwnProperty.call(obj, prop); }
2892
+ /******/ }();
2893
+ /******/
2894
+ /******/ /* webpack/runtime/make namespace object */
2895
+ /******/ !function() {
2896
+ /******/ // define __esModule on exports
2897
+ /******/ __webpack_require__.r = function(exports) {
2898
+ /******/ if(typeof Symbol !== 'undefined' && Symbol.toStringTag) {
2899
+ /******/ Object.defineProperty(exports, Symbol.toStringTag, { value: 'Module' });
2900
+ /******/ }
2901
+ /******/ Object.defineProperty(exports, '__esModule', { value: true });
2902
+ /******/ };
2903
+ /******/ }();
2904
+ /******/
2905
+ /******/ /* webpack/runtime/publicPath */
2906
+ /******/ !function() {
2907
+ /******/ __webpack_require__.p = "";
2908
+ /******/ }();
2909
+ /******/
2910
+ /************************************************************************/
2911
+ var __webpack_exports__ = {};
2912
+ // ESM COMPAT FLAG
2913
+ __webpack_require__.r(__webpack_exports__);
2914
+
2915
+ // EXPORTS
2916
+ __webpack_require__.d(__webpack_exports__, {
2917
+ VanillaGantt: function() { return /* reexport */ VanillaGantt; }
2918
+ });
2919
+
2920
+ ;// ./node_modules/.pnpm/@vue+cli-service@5.0.9_@vue+compiler-sfc@3.5.38_lodash@4.18.1_vue-template-compiler@2.7_c9972e4047f004f60ec0a5944100d8f4/node_modules/@vue/cli-service/lib/commands/build/setPublicPath.js
2921
+ /* eslint-disable no-var */
2922
+ // This file is imported into lib/wc client bundles.
2923
+
2924
+ if (typeof window !== 'undefined') {
2925
+ var currentScript = window.document.currentScript
2926
+ if (false) // removed by dead control flow
2927
+ { var getCurrentScript; }
2928
+
2929
+ var src = currentScript && currentScript.src.match(/(.+\/)[^/]+\.js(\?.*)?$/)
2930
+ if (src) {
2931
+ __webpack_require__.p = src[1] // eslint-disable-line
2932
+ }
2933
+ }
2934
+
2935
+ // Indicate to webpack that this file can be concatenated
2936
+ /* harmony default export */ var setPublicPath = (null);
2937
+
2938
+ // EXTERNAL MODULE: ./node_modules/.pnpm/core-js@3.49.0/node_modules/core-js/modules/es.array.includes.js
2939
+ var es_array_includes = __webpack_require__(9690);
2940
+ // EXTERNAL MODULE: ./node_modules/.pnpm/core-js@3.49.0/node_modules/core-js/modules/es.array.push.js
2941
+ var es_array_push = __webpack_require__(4495);
2942
+ // EXTERNAL MODULE: ./node_modules/.pnpm/core-js@3.49.0/node_modules/core-js/modules/es.iterator.constructor.js
2943
+ var es_iterator_constructor = __webpack_require__(7622);
2944
+ // EXTERNAL MODULE: ./node_modules/.pnpm/core-js@3.49.0/node_modules/core-js/modules/es.iterator.every.js
2945
+ var es_iterator_every = __webpack_require__(3149);
2946
+ // EXTERNAL MODULE: ./node_modules/.pnpm/core-js@3.49.0/node_modules/core-js/modules/es.iterator.filter.js
2947
+ var es_iterator_filter = __webpack_require__(746);
2948
+ // EXTERNAL MODULE: ./node_modules/.pnpm/core-js@3.49.0/node_modules/core-js/modules/es.iterator.find.js
2949
+ var es_iterator_find = __webpack_require__(4059);
2950
+ // EXTERNAL MODULE: ./node_modules/.pnpm/core-js@3.49.0/node_modules/core-js/modules/es.iterator.for-each.js
2951
+ var es_iterator_for_each = __webpack_require__(1119);
2952
+ // EXTERNAL MODULE: ./node_modules/.pnpm/core-js@3.49.0/node_modules/core-js/modules/es.iterator.map.js
2953
+ var es_iterator_map = __webpack_require__(8660);
2954
+ // EXTERNAL MODULE: ./node_modules/.pnpm/core-js@3.49.0/node_modules/core-js/modules/es.iterator.reduce.js
2955
+ var es_iterator_reduce = __webpack_require__(882);
2956
+ // EXTERNAL MODULE: ./node_modules/.pnpm/core-js@3.49.0/node_modules/core-js/modules/es.iterator.some.js
2957
+ var es_iterator_some = __webpack_require__(5528);
2958
+ ;// ./packages/gantt/src/vanilla-gantt.css
2959
+ // extracted by mini-css-extract-plugin
2960
+
2961
+ ;// ./packages/gantt/src/VanillaGantt.js
2962
+
2963
+
2964
+
2965
+
2966
+
2967
+
2968
+
2969
+
2970
+
2971
+
2972
+
2973
+ const SVG_NS = 'http://www.w3.org/2000/svg';
2974
+ const HOUR = 60 * 60 * 1000;
2975
+ const DEFAULT_TASK_TOOLTIP = {
2976
+ visible: true,
2977
+ customLayout: null,
2978
+ className: '',
2979
+ offsetX: 12,
2980
+ offsetY: 12
2981
+ };
2982
+ const DEFAULT_OPTIONS = {
2983
+ records: [],
2984
+ recordKeyField: 'id',
2985
+ taskKeyField: 'id',
2986
+ minDate: '',
2987
+ maxDate: '',
2988
+ rowHeight: 78,
2989
+ taskHeight: 36,
2990
+ headerRowHeight: 24,
2991
+ taskListTable: {
2992
+ tableWidth: 'auto',
2993
+ minTableWidth: 120,
2994
+ maxTableWidth: 640,
2995
+ columnResizable: true,
2996
+ headerStyle: null,
2997
+ columns: [{
2998
+ field: 'name',
2999
+ title: '工位',
3000
+ width: 170,
3001
+ tree: true
3002
+ }],
3003
+ renderHeader: null,
3004
+ renderCell: null
3005
+ },
3006
+ timelineHeader: {
3007
+ backgroundColor: '#fff',
3008
+ colWidth: 56,
3009
+ style: null,
3010
+ scales: [{
3011
+ unit: 'day',
3012
+ step: 1,
3013
+ rowHeight: 24
3014
+ }, {
3015
+ unit: 'hour',
3016
+ step: 2,
3017
+ rowHeight: 24,
3018
+ colWidth: 56
3019
+ }]
3020
+ },
3021
+ taskBar: {
3022
+ tasksField: 'tasks',
3023
+ startDateField: 'startDate',
3024
+ endDateField: 'endDate',
3025
+ progressField: 'progress',
3026
+ laneField: 'lane',
3027
+ statusField: 'status',
3028
+ labelText: 'title',
3029
+ subLabelText: 'subtitle',
3030
+ barStyle: null,
3031
+ projectStyle: null,
3032
+ customLayout: null,
3033
+ clip: true,
3034
+ draggable: true,
3035
+ dragStep: 60 * 1000,
3036
+ tooltip: false,
3037
+ onClick: null,
3038
+ onContextMenu: null,
3039
+ onMouseEnter: null,
3040
+ onMouseLeave: null,
3041
+ onDragStart: null,
3042
+ onDrag: null,
3043
+ onDragEnd: null,
3044
+ lanes: [{
3045
+ key: 'plan',
3046
+ offset: 8,
3047
+ height: 36
3048
+ }, {
3049
+ key: 'load',
3050
+ offset: 52,
3051
+ height: 6
3052
+ }, {
3053
+ key: 'unload',
3054
+ offset: 66,
3055
+ height: 6
3056
+ }]
3057
+ },
3058
+ dependency: {
3059
+ links: [],
3060
+ linkLineStyle: null,
3061
+ showLinks: false,
3062
+ highlightConnected: false,
3063
+ dimOpacity: 0.18
3064
+ },
3065
+ grid: {
3066
+ backgroundColor: '#f7fbfb',
3067
+ alternatingBackgroundColor: '#f8fbfb',
3068
+ verticalLine: {
3069
+ lineColor: '#e8eeee'
3070
+ },
3071
+ horizontalLine: {
3072
+ lineColor: '#edf1f2'
3073
+ },
3074
+ backgroundRanges: [],
3075
+ rowBackgroundRanges: []
3076
+ },
3077
+ markLine: null,
3078
+ onScroll: null
3079
+ };
3080
+ class VanillaGantt {
3081
+ constructor(container, options = {}) {
3082
+ this.container = typeof container === 'string' ? document.querySelector(container) : container;
3083
+ if (!this.container) {
3084
+ throw new Error('VanillaGantt requires a valid container.');
3085
+ }
3086
+ this.options = mergeOptions(DEFAULT_OPTIONS, options);
3087
+ this.expandedRows = {};
3088
+ this.scrollTop = 0;
3089
+ this.scrollLeft = 0;
3090
+ this.disposers = [];
3091
+ this.activeDrag = null;
3092
+ this.activeLinkTaskKey = null;
3093
+ this.activeLinkGroupKey = null;
3094
+ this.suppressClickUntil = 0;
3095
+ this.suppressClickTaskKey = null;
3096
+ this.seedExpandedRows(this.options.records);
3097
+ this.render();
3098
+ }
3099
+ setOptions(options = {}) {
3100
+ const previousRecords = this.options.records;
3101
+ this.options = mergeOptions(this.options, options);
3102
+ if (options.records && options.records !== previousRecords) {
3103
+ this.seedExpandedRows(options.records, true);
3104
+ }
3105
+ this.render();
3106
+ }
3107
+ destroy() {
3108
+ this.cleanup();
3109
+ this.container.innerHTML = '';
3110
+ }
3111
+ cleanup() {
3112
+ this.hideTaskTooltip();
3113
+ this.disposers.forEach(dispose => dispose());
3114
+ this.disposers = [];
3115
+ }
3116
+ render() {
3117
+ this.cleanup();
3118
+ const root = el('div', 'vg');
3119
+ root.style.setProperty('--vg-left-width', `${this.tableWidth}px`);
3120
+ this.rootEl = root;
3121
+ const left = el('div', 'vg-left');
3122
+ const right = el('div', 'vg-right');
3123
+ left.append(this.renderLeftHeader(), this.renderLeftBody(), this.renderResizeHandle(root));
3124
+ right.append(this.renderTimeline(), this.renderBody());
3125
+ root.append(left, right);
3126
+ this.container.innerHTML = '';
3127
+ this.container.append(root);
3128
+ if (this.scrollEl) {
3129
+ this.scrollEl.scrollTop = this.scrollTop;
3130
+ this.scrollEl.scrollLeft = this.scrollLeft;
3131
+ }
3132
+ }
3133
+ renderLeftHeader() {
3134
+ const header = el('div', 'vg-left-header');
3135
+ header.style.height = `${this.headerHeight}px`;
3136
+ header.style.gridTemplateColumns = this.tableGridTemplateColumns;
3137
+ applyTableHeaderStyle(header, this.taskListTable.headerStyle);
3138
+ this.leftHeaderEl = header;
3139
+ const custom = this.resolveContent(this.taskListTable.renderHeader, {
3140
+ gantt: this
3141
+ });
3142
+ if (custom) {
3143
+ header.append(custom);
3144
+ } else {
3145
+ this.tableColumns.forEach((column, columnIndex) => {
3146
+ header.append(this.renderTableHeaderCell(column, columnIndex));
3147
+ });
3148
+ }
3149
+ return header;
3150
+ }
3151
+ renderTableHeaderCell(column, columnIndex) {
3152
+ const cell = el('div', `vg-table-header-cell${column.className ? ` ${column.className}` : ''}`);
3153
+ const headerStyle = {
3154
+ ...(this.taskListTable.headerStyle || {}),
3155
+ ...(column.headerStyle || {})
3156
+ };
3157
+ applyTableHeaderStyle(cell, headerStyle);
3158
+ const content = el('div', 'vg-table-header-content');
3159
+ content.style.justifyContent = alignToFlex(column.headerAlign || headerStyle.textAlign || column.align || 'left');
3160
+ const custom = this.resolveContent(column.renderHeader, {
3161
+ column,
3162
+ columnIndex,
3163
+ gantt: this
3164
+ });
3165
+ if (custom) {
3166
+ content.append(custom);
3167
+ } else {
3168
+ content.textContent = column.title || column.field || '';
3169
+ }
3170
+ cell.append(content);
3171
+ if (this.isColumnResizable(column)) {
3172
+ cell.append(this.renderColumnResizeHandle(column, columnIndex));
3173
+ }
3174
+ return cell;
3175
+ }
3176
+ renderColumnResizeHandle(column, columnIndex) {
3177
+ const handle = el('span', 'vg-column-resize-handle');
3178
+ const onMouseDown = event => {
3179
+ const startX = event.clientX;
3180
+ const startWidth = this.columnWidth(column);
3181
+ const onMove = moveEvent => {
3182
+ const next = startWidth + moveEvent.clientX - startX;
3183
+ this.resizeColumn(columnIndex, next);
3184
+ };
3185
+ const onUp = () => {
3186
+ document.removeEventListener('mousemove', onMove);
3187
+ document.removeEventListener('mouseup', onUp);
3188
+ };
3189
+ document.addEventListener('mousemove', onMove);
3190
+ document.addEventListener('mouseup', onUp);
3191
+ event.preventDefault();
3192
+ event.stopPropagation();
3193
+ };
3194
+ handle.addEventListener('mousedown', onMouseDown);
3195
+ this.disposers.push(() => handle.removeEventListener('mousedown', onMouseDown));
3196
+ return handle;
3197
+ }
3198
+ resizeColumn(columnIndex, width) {
3199
+ const sourceColumn = this.sourceTableColumns[columnIndex];
3200
+ if (!sourceColumn) return;
3201
+ const minWidth = Number(sourceColumn.minWidth || 48);
3202
+ const maxWidth = Number(sourceColumn.maxWidth || 600);
3203
+ sourceColumn.width = Math.min(maxWidth, Math.max(minWidth, Math.round(width)));
3204
+ if (typeof this.taskListTable.tableWidth === 'number') {
3205
+ this.taskListTable.tableWidth = this.sourceTableColumns.reduce((total, item) => total + this.columnWidth(item), 0);
3206
+ }
3207
+ this.syncTableLayout();
3208
+ }
3209
+ syncTableLayout() {
3210
+ const width = this.tableWidth;
3211
+ if (this.rootEl) this.rootEl.style.setProperty('--vg-left-width', `${width}px`);
3212
+ if (this.leftHeaderEl) this.leftHeaderEl.style.gridTemplateColumns = this.tableGridTemplateColumns;
3213
+ if (this.leftBodyInner) {
3214
+ Array.from(this.leftBodyInner.children).forEach(row => {
3215
+ row.style.gridTemplateColumns = this.tableGridTemplateColumns;
3216
+ });
3217
+ }
3218
+ }
3219
+ renderLeftBody() {
3220
+ const body = el('div', 'vg-left-body');
3221
+ const inner = el('div', 'vg-left-body-inner');
3222
+ inner.style.height = `${this.bodyHeight}px`;
3223
+ inner.style.transform = `translateY(-${this.scrollTop}px)`;
3224
+ this.leftBodyInner = inner;
3225
+ this.visibleRows.forEach(row => {
3226
+ const rowEl = el('div', `vg-row${row.children ? ' vg-row--group' : ''}`);
3227
+ rowEl.style.height = `${row.height || this.options.rowHeight}px`;
3228
+ rowEl.style.gridTemplateColumns = this.tableGridTemplateColumns;
3229
+ this.tableColumns.forEach((column, columnIndex) => {
3230
+ rowEl.append(this.renderTableCell(row, column, columnIndex));
3231
+ });
3232
+ inner.append(rowEl);
3233
+ });
3234
+ body.append(inner);
3235
+ const onWheel = event => {
3236
+ if (!this.scrollEl || !event.deltaY) return;
3237
+ this.scrollEl.scrollTop += event.deltaY;
3238
+ event.preventDefault();
3239
+ };
3240
+ body.addEventListener('wheel', onWheel, {
3241
+ passive: false
3242
+ });
3243
+ this.disposers.push(() => body.removeEventListener('wheel', onWheel));
3244
+ return body;
3245
+ }
3246
+ renderTableCell(row, column, columnIndex) {
3247
+ const cell = el('div', `vg-table-cell${column.className ? ` ${column.className}` : ''}`);
3248
+ cell.style.justifyContent = alignToFlex(column.align || 'left');
3249
+ const value = this.getCellValue(row, column, columnIndex);
3250
+ const payload = {
3251
+ value,
3252
+ record: row,
3253
+ row,
3254
+ column,
3255
+ columnIndex,
3256
+ expanded: this.isExpanded(row),
3257
+ toggle: () => this.toggleRow(row),
3258
+ gantt: this
3259
+ };
3260
+ const custom = this.resolveContent(column.renderCell || this.taskListTable.renderCell, payload);
3261
+ if (custom) {
3262
+ cell.append(custom);
3263
+ this.bindTemplateToggle(cell, row);
3264
+ return cell;
3265
+ }
3266
+ if (this.isTreeColumn(column, columnIndex)) {
3267
+ cell.append(this.renderTreeCell(row, value));
3268
+ } else if (column.field === 'load') {
3269
+ cell.append(this.renderLoadCell(row, value));
3270
+ } else {
3271
+ cell.textContent = value === undefined || value === null ? '' : String(value);
3272
+ }
3273
+ return cell;
3274
+ }
3275
+ renderTreeCell(row, value) {
3276
+ const name = el('div', `vg-row-name${row.children ? ' vg-row-name--toggle' : ''}`);
3277
+ name.style.paddingLeft = `${row.level * 16}px`;
3278
+ if (row.children) {
3279
+ const button = el('button', 'vg-row-toggle');
3280
+ button.type = 'button';
3281
+ button.setAttribute('aria-label', this.isExpanded(row) ? '收起' : '展开');
3282
+ button.setAttribute('aria-expanded', String(this.isExpanded(row)));
3283
+ if (this.isExpanded(row)) {
3284
+ button.classList.add('vg-row-toggle--expanded');
3285
+ }
3286
+ name.append(button);
3287
+ name.addEventListener('click', () => this.toggleRow(row));
3288
+ }
3289
+ name.append(document.createTextNode(value === undefined || value === null ? '' : String(value)));
3290
+ return name;
3291
+ }
3292
+ renderLoadCell(row, value) {
3293
+ const loadValue = value === undefined ? row.load : value;
3294
+ if (loadValue === undefined || loadValue === null) return document.createTextNode('');
3295
+ const load = el('div', 'vg-row-load');
3296
+ const bar = el('i');
3297
+ bar.style.width = `${loadValue}%`;
3298
+ bar.style.background = this.loadColor(loadValue);
3299
+ const valueNode = el('b');
3300
+ valueNode.textContent = `${loadValue}%`;
3301
+ valueNode.style.color = this.loadColor(loadValue);
3302
+ load.append(bar, valueNode);
3303
+ return load;
3304
+ }
3305
+ getCellValue(row, column, columnIndex) {
3306
+ if (typeof column.valueGetter === 'function') {
3307
+ return column.valueGetter({
3308
+ record: row,
3309
+ row,
3310
+ column,
3311
+ columnIndex,
3312
+ gantt: this
3313
+ });
3314
+ }
3315
+ return column.field ? row[column.field] : undefined;
3316
+ }
3317
+ isTreeColumn(column, columnIndex) {
3318
+ return column.tree === true || column.tree !== false && columnIndex === 0 && column.field === 'name';
3319
+ }
3320
+ isColumnResizable(column) {
3321
+ if (column.resizable === false) return false;
3322
+ return this.taskListTable.columnResizable !== false;
3323
+ }
3324
+ bindTemplateToggle(root, row) {
3325
+ if (!row.children) return;
3326
+ root.querySelectorAll('[data-vg-toggle]').forEach(node => {
3327
+ const onClick = event => {
3328
+ event.preventDefault();
3329
+ event.stopPropagation();
3330
+ this.toggleRow(row);
3331
+ };
3332
+ node.addEventListener('click', onClick);
3333
+ this.disposers.push(() => node.removeEventListener('click', onClick));
3334
+ });
3335
+ }
3336
+ renderResizeHandle(root) {
3337
+ const handle = el('span', 'vg-resize-handle');
3338
+ const onMouseDown = event => {
3339
+ const startX = event.clientX;
3340
+ const startWidth = this.tableWidth;
3341
+ const onMove = moveEvent => {
3342
+ const next = startWidth + moveEvent.clientX - startX;
3343
+ this.taskListTable.tableWidth = Math.min(this.taskListTable.maxTableWidth, Math.max(this.taskListTable.minTableWidth, next));
3344
+ root.style.setProperty('--vg-left-width', `${this.taskListTable.tableWidth}px`);
3345
+ };
3346
+ const onUp = () => {
3347
+ document.removeEventListener('mousemove', onMove);
3348
+ document.removeEventListener('mouseup', onUp);
3349
+ };
3350
+ document.addEventListener('mousemove', onMove);
3351
+ document.addEventListener('mouseup', onUp);
3352
+ event.preventDefault();
3353
+ };
3354
+ handle.addEventListener('mousedown', onMouseDown);
3355
+ this.disposers.push(() => handle.removeEventListener('mousedown', onMouseDown));
3356
+ return handle;
3357
+ }
3358
+ renderTimeline() {
3359
+ const viewport = el('div', 'vg-timeline-viewport');
3360
+ viewport.style.height = `${this.headerHeight}px`;
3361
+ if (this.timelineHeader.backgroundColor) {
3362
+ viewport.style.background = this.timelineHeader.backgroundColor;
3363
+ }
3364
+ const stage = el('div', 'vg-timeline-stage');
3365
+ stage.style.width = `${this.chartWidth}px`;
3366
+ stage.style.transform = `translateX(-${this.scrollLeft}px)`;
3367
+ this.timelineStage = stage;
3368
+ const svg = svgEl('svg', 'vg-timeline-svg');
3369
+ attrs(svg, {
3370
+ width: this.chartWidth,
3371
+ height: this.headerHeight,
3372
+ viewBox: `0 0 ${this.chartWidth} ${this.headerHeight}`
3373
+ });
3374
+ if (this.timelineHeader.backgroundColor) {
3375
+ svg.style.background = this.timelineHeader.backgroundColor;
3376
+ }
3377
+ let y = 0;
3378
+ this.timelineUnitsByScale.forEach((units, scaleIndex) => {
3379
+ const scale = this.timelineScales[scaleIndex];
3380
+ const height = this.scaleRowHeight(scale);
3381
+ units.forEach(unit => {
3382
+ svg.append(this.renderTimelineUnit(unit, y, height, scale, scaleIndex));
3383
+ });
3384
+ y += height;
3385
+ });
3386
+ stage.append(svg);
3387
+ viewport.append(stage);
3388
+ return viewport;
3389
+ }
3390
+ renderTimelineUnit(unit, y, height, scale, scaleIndex) {
3391
+ const fo = svgEl('foreignObject');
3392
+ attrs(fo, {
3393
+ x: unit.x,
3394
+ y,
3395
+ width: unit.width,
3396
+ height
3397
+ });
3398
+ const custom = this.resolveContent(scale.customLayout || this.timelineHeader.customLayout, {
3399
+ dateInfo: unit,
3400
+ unit,
3401
+ scale,
3402
+ scaleIndex,
3403
+ major: scaleIndex === 0,
3404
+ gantt: this
3405
+ });
3406
+ const style = this.timelineCellStyle(scale);
3407
+ if (custom) {
3408
+ applyTimelineStyleToContent(custom, this.timelineCustomCellStyle(scale));
3409
+ fo.append(custom);
3410
+ } else {
3411
+ const cell = el('div', `vg-timeline-cell${scaleIndex === 0 ? ' vg-timeline-cell--major' : ''}`);
3412
+ applyTimelineStyle(cell, style);
3413
+ cell.textContent = unit.label;
3414
+ fo.append(cell);
3415
+ }
3416
+ return fo;
3417
+ }
3418
+ renderBody() {
3419
+ const scroll = el('div', 'vg-scroll');
3420
+ const stage = el('div', 'vg-stage');
3421
+ stage.style.width = `${this.chartWidth}px`;
3422
+ stage.style.minWidth = `${this.chartWidth}px`;
3423
+ const svg = svgEl('svg', 'vg-svg');
3424
+ attrs(svg, {
3425
+ width: this.chartWidth,
3426
+ height: this.bodyHeight,
3427
+ viewBox: `0 0 ${this.chartWidth} ${this.bodyHeight}`
3428
+ });
3429
+ svg.append(this.renderDefs());
3430
+ this.appendGrid(svg);
3431
+ const onCanvasClick = () => {
3432
+ if (this.clearActiveLinkGroup()) this.render();
3433
+ };
3434
+ svg.addEventListener('click', onCanvasClick);
3435
+ this.disposers.push(() => svg.removeEventListener('click', onCanvasClick));
3436
+ stage.append(svg);
3437
+ scroll.append(stage);
3438
+ const onScroll = () => {
3439
+ this.scrollTop = scroll.scrollTop;
3440
+ this.scrollLeft = scroll.scrollLeft;
3441
+ if (this.leftBodyInner) {
3442
+ this.leftBodyInner.style.transform = `translateY(-${this.scrollTop}px)`;
3443
+ }
3444
+ if (this.timelineStage) {
3445
+ this.timelineStage.style.transform = `translateX(-${this.scrollLeft}px)`;
3446
+ }
3447
+ if (typeof this.options.onScroll === 'function') {
3448
+ this.options.onScroll({
3449
+ scrollLeft: this.scrollLeft,
3450
+ scrollTop: this.scrollTop
3451
+ });
3452
+ }
3453
+ };
3454
+ scroll.addEventListener('scroll', onScroll);
3455
+ this.disposers.push(() => scroll.removeEventListener('scroll', onScroll));
3456
+ this.scrollEl = scroll;
3457
+ return scroll;
3458
+ }
3459
+ renderDefs() {
3460
+ const defs = svgEl('defs');
3461
+ const pattern = svgEl('pattern');
3462
+ attrs(pattern, {
3463
+ id: 'vg-diagonal-stripe',
3464
+ patternUnits: 'userSpaceOnUse',
3465
+ width: 8,
3466
+ height: 8
3467
+ });
3468
+ const path = svgEl('path');
3469
+ attrs(path, {
3470
+ d: 'M-2,2 l4,-4 M0,8 l8,-8 M6,10 l4,-4',
3471
+ stroke: '#86ddd4',
3472
+ 'stroke-width': 1
3473
+ });
3474
+ pattern.append(path);
3475
+ defs.append(pattern);
3476
+ return defs;
3477
+ }
3478
+ appendGrid(svg) {
3479
+ if (this.grid.backgroundColor) {
3480
+ svg.append(this.rect(0, 0, this.chartWidth, this.bodyHeight, this.grid.backgroundColor));
3481
+ }
3482
+ this.backgroundShades.forEach(shade => {
3483
+ svg.append(this.rect(shade.x, 0, shade.width, this.bodyHeight, shade.fill));
3484
+ });
3485
+ this.visibleBackgroundRanges.forEach(range => {
3486
+ const rect = this.rect(this.timeToX(range.startDate), 0, this.durationWidth(range.startDate, range.endDate), this.bodyHeight, range.color || range.fill || '#edf1f1');
3487
+ rect.setAttribute('opacity', range.opacity === undefined ? 1 : range.opacity);
3488
+ svg.append(rect);
3489
+ });
3490
+ this.verticalLines.forEach((item, index) => {
3491
+ const style = this.resolveStyle(this.grid.verticalLine, {
3492
+ index,
3493
+ dateIndex: index,
3494
+ date: item.startDate,
3495
+ ganttInstance: this
3496
+ });
3497
+ const line = this.line(item.x, 0, item.x, this.bodyHeight, style.lineColor || '#e8eeee');
3498
+ this.applyLineStyle(line, style);
3499
+ svg.append(line);
3500
+ });
3501
+ this.rowLines.forEach((item, index) => {
3502
+ const style = this.resolveStyle(this.grid.horizontalLine, {
3503
+ index,
3504
+ ganttInstance: this
3505
+ });
3506
+ const line = this.line(0, item.y, this.chartWidth, item.y, style.lineColor || '#edf1f2');
3507
+ this.applyLineStyle(line, style);
3508
+ svg.append(line);
3509
+ });
3510
+ this.markLines.forEach(markLine => {
3511
+ this.appendMarkLine(svg, markLine);
3512
+ });
3513
+ this.visibleRowBackgroundRanges.forEach(range => {
3514
+ const rect = this.rect(this.timeToX(range.startDate), this.rowTop(range.recordKey) + (range.offsetY || 0), this.durationWidth(range.startDate, range.endDate), range.height || this.options.rowHeight, range.color || range.fill || '#dcf8c9');
3515
+ rect.setAttribute('opacity', range.opacity === undefined ? 1 : range.opacity);
3516
+ svg.append(rect);
3517
+ });
3518
+ this.stripedTasks.forEach(task => {
3519
+ const rect = this.rect(this.timeToX(this.taskStart(task)), this.taskY(task), this.durationWidth(this.taskStart(task), this.taskEnd(task)), this.taskRenderHeight(task), 'url(#vg-diagonal-stripe)');
3520
+ svg.append(rect);
3521
+ });
3522
+ this.renderTasks.forEach(task => {
3523
+ svg.append(this.renderTask(task));
3524
+ });
3525
+ this.visibleLinks.forEach(link => {
3526
+ this.appendLink(svg, link);
3527
+ });
3528
+ }
3529
+ appendMarkLine(svg, markLine) {
3530
+ const x = this.timeToX(markLine.date);
3531
+ if (x < 0 || x > this.chartWidth) return;
3532
+ const style = markLine.style || {};
3533
+ const line = this.line(x, 0, x, this.bodyHeight, style.lineColor || '#35cce0');
3534
+ this.applyLineStyle(line, {
3535
+ lineDash: [4, 4],
3536
+ ...style
3537
+ });
3538
+ svg.append(line);
3539
+ if (!markLine.content) return;
3540
+ const text = svgEl('text', 'vg-mark-line-text');
3541
+ attrs(text, {
3542
+ x: x + 6,
3543
+ y: 16,
3544
+ fill: markLine.contentStyle && markLine.contentStyle.color ? markLine.contentStyle.color : style.lineColor || '#35cce0'
3545
+ });
3546
+ text.textContent = markLine.content;
3547
+ svg.append(text);
3548
+ }
3549
+ appendLink(svg, link) {
3550
+ const from = this.taskLayoutByKey[link.from];
3551
+ const to = this.taskLayoutByKey[link.to];
3552
+ if (!from || !to) return;
3553
+ const route = this.linkRoute(link.type, from, to);
3554
+ const style = {
3555
+ ...(this.dependency.linkLineStyle || {}),
3556
+ ...(link.linkLineStyle || {})
3557
+ };
3558
+ const color = style.lineColor || link.color || '#168dff';
3559
+ const path = this.path(route.d, color);
3560
+ attrs(path, {
3561
+ fill: 'none',
3562
+ 'stroke-linejoin': 'round',
3563
+ 'stroke-linecap': 'round'
3564
+ });
3565
+ this.applyLineStyle(path, {
3566
+ lineWidth: 2,
3567
+ ...style
3568
+ });
3569
+ if (link.dashed) path.setAttribute('stroke-dasharray', '6 4');
3570
+ svg.append(path);
3571
+ svg.append(this.circle(route.start.x, route.start.y, 4, color));
3572
+ svg.append(this.arrow(route.end.x, route.end.y, route.direction, color));
3573
+ }
3574
+ linkRoute(type, from, to) {
3575
+ const fromStart = from.x;
3576
+ const fromEnd = from.x + from.width;
3577
+ const toStart = to.x;
3578
+ const toEnd = to.x + to.width;
3579
+ const normalizedType = type || 'finish_to_start';
3580
+ let start;
3581
+ let end;
3582
+ if (normalizedType === 'start_to_start') {
3583
+ start = {
3584
+ x: fromStart,
3585
+ y: from.centerY
3586
+ };
3587
+ end = {
3588
+ x: toStart,
3589
+ y: to.centerY
3590
+ };
3591
+ } else if (normalizedType === 'finish_to_finish') {
3592
+ start = {
3593
+ x: fromEnd,
3594
+ y: from.centerY
3595
+ };
3596
+ end = {
3597
+ x: toEnd,
3598
+ y: to.centerY
3599
+ };
3600
+ } else if (normalizedType === 'start_to_finish') {
3601
+ start = {
3602
+ x: fromStart,
3603
+ y: from.centerY
3604
+ };
3605
+ end = {
3606
+ x: toEnd,
3607
+ y: to.centerY
3608
+ };
3609
+ } else {
3610
+ start = {
3611
+ x: fromEnd,
3612
+ y: from.centerY
3613
+ };
3614
+ end = {
3615
+ x: toStart,
3616
+ y: to.centerY
3617
+ };
3618
+ }
3619
+ const direction = end.x >= start.x ? 1 : -1;
3620
+ const gap = Math.abs(end.x - start.x);
3621
+ const elbow = direction > 0 ? start.x + Math.max(20, gap / 2) : start.x + 28;
3622
+ return {
3623
+ start,
3624
+ end,
3625
+ direction,
3626
+ d: `M ${start.x} ${start.y} H ${elbow} V ${end.y} H ${end.x}`
3627
+ };
3628
+ }
3629
+ renderTask(task) {
3630
+ const width = this.durationWidth(this.taskStart(task), this.taskEnd(task));
3631
+ const height = this.taskRenderHeight(task);
3632
+ const fo = svgEl('foreignObject', 'vg-task-fo');
3633
+ attrs(fo, {
3634
+ x: this.timeToX(this.taskStart(task)),
3635
+ y: this.taskY(task),
3636
+ width,
3637
+ height
3638
+ });
3639
+ const row = this.rowById[task.__rowId];
3640
+ const payload = this.createTaskPayload(task, {
3641
+ row,
3642
+ width,
3643
+ height,
3644
+ x: this.timeToX(this.taskStart(task)),
3645
+ y: this.taskY(task)
3646
+ });
3647
+ const custom = this.resolveContent(this.taskBar.customLayout, payload);
3648
+ fo.append(custom || this.renderDefaultTask(task));
3649
+ if (this.isTaskDimmed(task)) {
3650
+ fo.classList.add('vg-task-fo--dimmed');
3651
+ fo.style.opacity = String(this.dependency.dimOpacity === undefined ? 0.18 : this.dependency.dimOpacity);
3652
+ }
3653
+ this.bindTaskInteractions(fo, task);
3654
+ return fo;
3655
+ }
3656
+ bindTaskInteractions(node, task) {
3657
+ if (this.isTaskDraggable(task)) {
3658
+ node.classList.add('vg-task-fo--draggable');
3659
+ }
3660
+ const onClick = event => {
3661
+ const taskKey = this.taskKey(task);
3662
+ if (this.suppressClickTaskKey === taskKey && Date.now() < this.suppressClickUntil) {
3663
+ event.preventDefault();
3664
+ event.stopPropagation();
3665
+ return;
3666
+ }
3667
+ const shouldRender = this.activateTaskLinkGroup(task);
3668
+ this.callTaskCallback('onClick', task, event);
3669
+ event.stopPropagation();
3670
+ if (shouldRender) this.render();
3671
+ };
3672
+ const onContextMenu = event => {
3673
+ if (typeof this.taskBar.onContextMenu !== 'function') return;
3674
+ event.preventDefault();
3675
+ this.callTaskCallback('onContextMenu', task, event);
3676
+ };
3677
+ const onMouseEnter = event => {
3678
+ this.callTaskCallback('onMouseEnter', task, event);
3679
+ this.showTaskTooltip(task, event);
3680
+ };
3681
+ const onMouseMove = event => {
3682
+ this.positionTaskTooltip(event);
3683
+ };
3684
+ const onMouseLeave = event => {
3685
+ this.callTaskCallback('onMouseLeave', task, event);
3686
+ this.hideTaskTooltip();
3687
+ };
3688
+ const onPointerDown = event => {
3689
+ this.startTaskDrag(node, task, event);
3690
+ };
3691
+ node.addEventListener('click', onClick);
3692
+ node.addEventListener('contextmenu', onContextMenu);
3693
+ node.addEventListener('mouseenter', onMouseEnter);
3694
+ node.addEventListener('mousemove', onMouseMove);
3695
+ node.addEventListener('mouseleave', onMouseLeave);
3696
+ node.addEventListener('pointerdown', onPointerDown);
3697
+ this.disposers.push(() => {
3698
+ node.removeEventListener('click', onClick);
3699
+ node.removeEventListener('contextmenu', onContextMenu);
3700
+ node.removeEventListener('mouseenter', onMouseEnter);
3701
+ node.removeEventListener('mousemove', onMouseMove);
3702
+ node.removeEventListener('mouseleave', onMouseLeave);
3703
+ node.removeEventListener('pointerdown', onPointerDown);
3704
+ });
3705
+ }
3706
+ startTaskDrag(node, task, event) {
3707
+ if (!this.isTaskDraggable(task)) return;
3708
+ if (event.button !== undefined && event.button !== 0) return;
3709
+ if (event.target && event.target.closest && event.target.closest('[data-vg-no-drag]')) return;
3710
+ const sourceTask = this.findSourceTask(task);
3711
+ if (!sourceTask) return;
3712
+ const startTime = toTime(this.taskStart(sourceTask));
3713
+ const endTime = toTime(this.taskEnd(sourceTask));
3714
+ if (!Number.isFinite(startTime) || !Number.isFinite(endTime)) return;
3715
+ const startPayload = this.createTaskPayload(task, {
3716
+ event,
3717
+ sourceTask,
3718
+ startDate: new Date(startTime),
3719
+ endDate: new Date(endTime),
3720
+ originalStartDate: new Date(startTime),
3721
+ originalEndDate: new Date(endTime)
3722
+ });
3723
+ if (this.callTaskCallback('onDragStart', task, event, startPayload) === false) return;
3724
+ this.hideTaskTooltip();
3725
+ node.classList.add('vg-task-fo--dragging');
3726
+ if (node.setPointerCapture && event.pointerId !== undefined) {
3727
+ node.setPointerCapture(event.pointerId);
3728
+ }
3729
+ const drag = {
3730
+ node,
3731
+ task,
3732
+ sourceTask,
3733
+ pointerId: event.pointerId,
3734
+ startClientX: event.clientX,
3735
+ originalStartTime: startTime,
3736
+ originalEndTime: endTime,
3737
+ nextStartTime: startTime,
3738
+ nextEndTime: endTime,
3739
+ moved: false
3740
+ };
3741
+ this.activeDrag = drag;
3742
+ const onMove = moveEvent => this.moveTaskDrag(moveEvent);
3743
+ const onUp = upEvent => {
3744
+ document.removeEventListener('pointermove', onMove);
3745
+ document.removeEventListener('pointerup', onUp);
3746
+ document.removeEventListener('pointercancel', onUp);
3747
+ this.endTaskDrag(upEvent);
3748
+ };
3749
+ document.addEventListener('pointermove', onMove);
3750
+ document.addEventListener('pointerup', onUp);
3751
+ document.addEventListener('pointercancel', onUp);
3752
+ this.disposers.push(() => {
3753
+ document.removeEventListener('pointermove', onMove);
3754
+ document.removeEventListener('pointerup', onUp);
3755
+ document.removeEventListener('pointercancel', onUp);
3756
+ });
3757
+ event.preventDefault();
3758
+ event.stopPropagation();
3759
+ }
3760
+ moveTaskDrag(event) {
3761
+ const drag = this.activeDrag;
3762
+ if (!drag) return;
3763
+ if (drag.pointerId !== undefined && event.pointerId !== undefined && drag.pointerId !== event.pointerId) return;
3764
+ const deltaX = event.clientX - drag.startClientX;
3765
+ if (Math.abs(deltaX) < 2 && !drag.moved) return;
3766
+ const deltaMs = this.snapDragDelta(deltaX / this.pxPerMs);
3767
+ const nextRange = this.clampDragRange(drag.originalStartTime + deltaMs, drag.originalEndTime + deltaMs);
3768
+ drag.nextStartTime = nextRange.start;
3769
+ drag.nextEndTime = nextRange.end;
3770
+ drag.moved = true;
3771
+ drag.node.setAttribute('x', this.timeToX(nextRange.start));
3772
+ this.callTaskCallback('onDrag', drag.task, event, this.createTaskPayload(drag.task, {
3773
+ event,
3774
+ sourceTask: drag.sourceTask,
3775
+ startDate: new Date(nextRange.start),
3776
+ endDate: new Date(nextRange.end),
3777
+ originalStartDate: new Date(drag.originalStartTime),
3778
+ originalEndDate: new Date(drag.originalEndTime)
3779
+ }));
3780
+ event.preventDefault();
3781
+ }
3782
+ endTaskDrag(event) {
3783
+ const drag = this.activeDrag;
3784
+ if (!drag) return;
3785
+ this.activeDrag = null;
3786
+ drag.node.classList.remove('vg-task-fo--dragging');
3787
+ if (drag.node.releasePointerCapture && drag.pointerId !== undefined) {
3788
+ try {
3789
+ drag.node.releasePointerCapture(drag.pointerId);
3790
+ } catch (error) {}
3791
+ }
3792
+ if (drag.moved) {
3793
+ this.updateTaskTime(drag.sourceTask, drag.nextStartTime, drag.nextEndTime);
3794
+ this.suppressClickTaskKey = this.taskKey(drag.task);
3795
+ this.suppressClickUntil = Date.now() + 300;
3796
+ this.callTaskCallback('onDragEnd', drag.task, event, this.createTaskPayload(drag.task, {
3797
+ event,
3798
+ sourceTask: drag.sourceTask,
3799
+ startDate: new Date(drag.nextStartTime),
3800
+ endDate: new Date(drag.nextEndTime),
3801
+ originalStartDate: new Date(drag.originalStartTime),
3802
+ originalEndDate: new Date(drag.originalEndTime)
3803
+ }));
3804
+ this.render();
3805
+ }
3806
+ }
3807
+ showTaskTooltip(task, event) {
3808
+ const tooltip = this.taskTooltip;
3809
+ if (!tooltip || tooltip.visible === false) return;
3810
+ const payload = this.createTaskPayload(task, {
3811
+ event
3812
+ });
3813
+ const content = this.resolveContent(tooltip.customLayout, payload) || this.renderDefaultTaskTooltip(payload);
3814
+ if (!content) return;
3815
+ this.hideTaskTooltip();
3816
+ const node = el('div', `vg-tooltip${tooltip.className ? ` ${tooltip.className}` : ''}`);
3817
+ node.append(content);
3818
+ document.body.append(node);
3819
+ this.tooltipEl = node;
3820
+ this.positionTaskTooltip(event);
3821
+ }
3822
+ positionTaskTooltip(event) {
3823
+ if (!this.tooltipEl || !event) return;
3824
+ const tooltip = this.taskTooltip || {};
3825
+ const offsetX = tooltip.offsetX === undefined ? 12 : Number(tooltip.offsetX);
3826
+ const offsetY = tooltip.offsetY === undefined ? 12 : Number(tooltip.offsetY);
3827
+ const rect = this.tooltipEl.getBoundingClientRect();
3828
+ const maxLeft = window.innerWidth - rect.width - 8;
3829
+ const maxTop = window.innerHeight - rect.height - 8;
3830
+ const left = Math.max(8, Math.min(maxLeft, event.clientX + offsetX));
3831
+ const top = Math.max(8, Math.min(maxTop, event.clientY + offsetY));
3832
+ this.tooltipEl.style.left = `${left}px`;
3833
+ this.tooltipEl.style.top = `${top}px`;
3834
+ }
3835
+ hideTaskTooltip() {
3836
+ if (!this.tooltipEl) return;
3837
+ this.tooltipEl.remove();
3838
+ this.tooltipEl = null;
3839
+ }
3840
+ renderDefaultTaskTooltip(payload) {
3841
+ const root = el('div', 'vg-tooltip-default');
3842
+ const title = el('div', 'vg-tooltip-title');
3843
+ title.textContent = this.taskLabel(payload.task, this.taskBar.labelText);
3844
+ const time = el('div', 'vg-tooltip-time');
3845
+ time.textContent = `${formatDateTime(payload.startDate)} - ${formatDateTime(payload.endDate)}`;
3846
+ root.append(title, time);
3847
+ const subtitle = this.taskLabel(payload.task, this.taskBar.subLabelText);
3848
+ if (subtitle) {
3849
+ const meta = el('div', 'vg-tooltip-meta');
3850
+ meta.textContent = subtitle;
3851
+ root.append(meta);
3852
+ }
3853
+ return root;
3854
+ }
3855
+ createTaskPayload(task, extra = {}) {
3856
+ const row = extra.row || this.rowById[task.__rowId];
3857
+ const sourceTask = extra.sourceTask || this.findSourceTask(task) || task;
3858
+ const startTime = extra.startDate ? extra.startDate.getTime() : toTime(this.taskStart(sourceTask));
3859
+ const endTime = extra.endDate ? extra.endDate.getTime() : toTime(this.taskEnd(sourceTask));
3860
+ const width = extra.width === undefined ? this.durationWidth(this.taskStart(task), this.taskEnd(task)) : extra.width;
3861
+ const height = extra.height === undefined ? this.taskRenderHeight(task) : extra.height;
3862
+ return {
3863
+ taskRecord: sourceTask,
3864
+ task,
3865
+ sourceTask,
3866
+ rowRecord: row,
3867
+ row,
3868
+ taskKey: this.taskKey(task),
3869
+ rowKey: task.__rowId,
3870
+ x: extra.x === undefined ? this.timeToX(this.taskStart(task)) : extra.x,
3871
+ y: extra.y === undefined ? this.taskY(task) : extra.y,
3872
+ width,
3873
+ height,
3874
+ startDate: new Date(startTime),
3875
+ endDate: new Date(endTime),
3876
+ originalStartDate: extra.originalStartDate,
3877
+ originalEndDate: extra.originalEndDate,
3878
+ progress: this.taskProgress(task),
3879
+ event: extra.event,
3880
+ ganttInstance: this,
3881
+ gantt: this
3882
+ };
3883
+ }
3884
+ callTaskCallback(name, task, event, payload) {
3885
+ const callback = this.taskBar[name];
3886
+ if (typeof callback !== 'function') return undefined;
3887
+ return callback(payload || this.createTaskPayload(task, {
3888
+ event
3889
+ }));
3890
+ }
3891
+ isTaskDraggable(task) {
3892
+ if (task.draggable !== undefined) return task.draggable !== false;
3893
+ if (task.parentAggregate) return false;
3894
+ const draggable = this.taskBar.draggable;
3895
+ if (typeof draggable === 'function') {
3896
+ return draggable(this.createTaskPayload(task)) !== false;
3897
+ }
3898
+ return draggable !== false;
3899
+ }
3900
+ findSourceTask(task) {
3901
+ const rowKey = task.__rowId;
3902
+ const taskKey = this.taskKey(task);
3903
+ if (!rowKey || !taskKey) return null;
3904
+ const record = this.findRecordByKey(rowKey);
3905
+ const tasks = record && Array.isArray(record[this.taskBar.tasksField]) ? record[this.taskBar.tasksField] : [];
3906
+ return tasks.find(item => this.taskKey(item) === taskKey) || null;
3907
+ }
3908
+ findRecordByKey(recordKey, records = this.options.records) {
3909
+ for (const record of records || []) {
3910
+ if (this.recordKey(record) === recordKey) return record;
3911
+ if (record.children) {
3912
+ const found = this.findRecordByKey(recordKey, record.children);
3913
+ if (found) return found;
3914
+ }
3915
+ }
3916
+ return null;
3917
+ }
3918
+ snapDragDelta(deltaMs) {
3919
+ const step = Number(this.taskBar.dragStep || 0);
3920
+ if (!step) return deltaMs;
3921
+ return Math.round(deltaMs / step) * step;
3922
+ }
3923
+ clampDragRange(startTime, endTime) {
3924
+ const duration = endTime - startTime;
3925
+ if (duration >= this.rangeMs) {
3926
+ return {
3927
+ start: this.startTime,
3928
+ end: this.endTime
3929
+ };
3930
+ }
3931
+ let start = startTime;
3932
+ let end = endTime;
3933
+ if (start < this.startTime) {
3934
+ start = this.startTime;
3935
+ end = start + duration;
3936
+ }
3937
+ if (end > this.endTime) {
3938
+ end = this.endTime;
3939
+ start = end - duration;
3940
+ }
3941
+ return {
3942
+ start,
3943
+ end
3944
+ };
3945
+ }
3946
+ updateTaskTime(task, startTime, endTime) {
3947
+ const startField = this.taskBar.startDateField;
3948
+ const endField = this.taskBar.endDateField;
3949
+ task[startField] = this.createTimeValueLike(task[startField], startTime);
3950
+ task[endField] = this.createTimeValueLike(task[endField], endTime);
3951
+ }
3952
+ createTimeValueLike(source, time) {
3953
+ if (source instanceof Date) return new Date(time);
3954
+ if (typeof source === 'number') return time;
3955
+ return formatLocalDateTime(new Date(time));
3956
+ }
3957
+ renderDefaultTask(task) {
3958
+ const status = this.taskStatus(task);
3959
+ const root = el('div', `vg-task vg-task--${status || 'normal'}`);
3960
+ const style = this.taskStyle(task);
3961
+ this.applyTaskStyle(root, style, task);
3962
+ const title = el('div', 'vg-task-title');
3963
+ title.textContent = this.taskLabel(task, this.taskBar.labelText);
3964
+ const meta = el('div', 'vg-task-meta');
3965
+ meta.textContent = this.taskLabel(task, this.taskBar.subLabelText);
3966
+ root.append(title, meta);
3967
+ const progressValue = this.taskProgress(task);
3968
+ if (progressValue !== undefined) {
3969
+ const progress = el('div', 'vg-task-progress');
3970
+ const bar = el('i');
3971
+ bar.style.width = `${progressValue}%`;
3972
+ if (style.completedBarColor) bar.style.background = style.completedBarColor;
3973
+ progress.append(bar);
3974
+ root.append(progress);
3975
+ }
3976
+ if (task.locked) {
3977
+ const lock = el('span', 'vg-task-lock');
3978
+ lock.textContent = '▣';
3979
+ root.append(lock);
3980
+ }
3981
+ return root;
3982
+ }
3983
+ applyTaskStyle(node, style, task) {
3984
+ if (!style) return;
3985
+ const progressValue = this.taskProgress(task);
3986
+ const background = progressValue >= 100 && style.completedBarColor ? style.completedBarColor : style.barColor;
3987
+ if (background) node.style.background = background;
3988
+ if (style.borderColor) node.style.borderColor = style.borderColor;
3989
+ if (style.borderLineWidth !== undefined) node.style.borderWidth = `${style.borderLineWidth}px`;
3990
+ if (style.borderWidth !== undefined) node.style.borderWidth = `${style.borderWidth}px`;
3991
+ if (style.cornerRadius !== undefined) node.style.borderRadius = `${style.cornerRadius}px`;
3992
+ }
3993
+ rect(x, y, width, height, fill) {
3994
+ const rect = svgEl('rect');
3995
+ attrs(rect, {
3996
+ x,
3997
+ y,
3998
+ width,
3999
+ height,
4000
+ fill
4001
+ });
4002
+ return rect;
4003
+ }
4004
+ line(x1, y1, x2, y2, stroke) {
4005
+ const line = svgEl('line');
4006
+ attrs(line, {
4007
+ x1,
4008
+ y1,
4009
+ x2,
4010
+ y2,
4011
+ stroke
4012
+ });
4013
+ return line;
4014
+ }
4015
+ circle(cx, cy, r, fill) {
4016
+ const circle = svgEl('circle');
4017
+ attrs(circle, {
4018
+ cx,
4019
+ cy,
4020
+ r,
4021
+ fill
4022
+ });
4023
+ return circle;
4024
+ }
4025
+ path(d, stroke) {
4026
+ const path = svgEl('path', 'vg-link-path');
4027
+ attrs(path, {
4028
+ d,
4029
+ stroke
4030
+ });
4031
+ return path;
4032
+ }
4033
+ arrow(x, y, direction, fill) {
4034
+ const arrow = svgEl('path', 'vg-link-arrow');
4035
+ const d = direction >= 0 ? `M ${x} ${y} l -8 -4 v 8 Z` : `M ${x} ${y} l 8 -4 v 8 Z`;
4036
+ attrs(arrow, {
4037
+ d,
4038
+ fill
4039
+ });
4040
+ return arrow;
4041
+ }
4042
+ applyLineStyle(line, style = {}) {
4043
+ if (style.lineWidth !== undefined) line.setAttribute('stroke-width', style.lineWidth);
4044
+ if (style.lineDash) line.setAttribute('stroke-dasharray', style.lineDash.join(' '));
4045
+ }
4046
+ resolveStyle(style, payload) {
4047
+ if (typeof style === 'function') return style(payload) || {};
4048
+ return style || {};
4049
+ }
4050
+ resolveContent(renderer, payload) {
4051
+ if (typeof renderer !== 'function') return null;
4052
+ const result = renderer(payload);
4053
+ if (result === undefined || result === null) return null;
4054
+ if (result instanceof Node) return result;
4055
+ if (result.rootContainer instanceof Node) return result.rootContainer;
4056
+ const template = document.createElement('template');
4057
+ template.innerHTML = String(result).trim();
4058
+ return template.content;
4059
+ }
4060
+ seedExpandedRows(records, applyExplicit = false) {
4061
+ records.forEach(record => {
4062
+ if (record.children) {
4063
+ const key = this.recordKey(record);
4064
+ if (applyExplicit && record.expanded !== undefined) {
4065
+ this.expandedRows[key] = record.expanded !== false;
4066
+ } else if (this.expandedRows[key] === undefined) {
4067
+ this.expandedRows[key] = record.expanded !== false;
4068
+ }
4069
+ this.seedExpandedRows(record.children, applyExplicit);
4070
+ }
4071
+ });
4072
+ }
4073
+ isExpanded(row) {
4074
+ return row.children ? this.expandedRows[this.recordKey(row)] !== false : false;
4075
+ }
4076
+ toggleRow(row) {
4077
+ if (!row.children) return;
4078
+ const key = this.recordKey(row);
4079
+ this.expandedRows[key] = !this.isExpanded(row);
4080
+ this.render();
4081
+ }
4082
+ recordKey(record) {
4083
+ return record.__recordKey || record[this.options.recordKeyField];
4084
+ }
4085
+ taskKey(task) {
4086
+ return task[this.options.taskKeyField];
4087
+ }
4088
+ taskStart(task) {
4089
+ return task[this.taskBar.startDateField];
4090
+ }
4091
+ taskEnd(task) {
4092
+ return task[this.taskBar.endDateField];
4093
+ }
4094
+ taskProgress(task) {
4095
+ return task[this.taskBar.progressField];
4096
+ }
4097
+ taskLane(task) {
4098
+ return task[this.taskBar.laneField];
4099
+ }
4100
+ taskStatus(task) {
4101
+ return task[this.taskBar.statusField];
4102
+ }
4103
+ taskLabel(task, label) {
4104
+ if (!label) return '';
4105
+ if (typeof label === 'function') return label(task);
4106
+ return task[label] === undefined ? String(label) : String(task[label]);
4107
+ }
4108
+ taskStyle(task) {
4109
+ const style = task.parentAggregate ? this.taskBar.projectStyle : this.taskBar.barStyle;
4110
+ return this.resolveStyle(style, {
4111
+ taskRecord: task,
4112
+ index: this.renderTasks.findIndex(item => this.taskKey(item) === this.taskKey(task)),
4113
+ startDate: new Date(toTime(this.taskStart(task))),
4114
+ endDate: new Date(toTime(this.taskEnd(task))),
4115
+ ganttInstance: this
4116
+ });
4117
+ }
4118
+ isTaskDimmed(task) {
4119
+ if (!this.dependency.highlightConnected) return false;
4120
+ const key = this.taskKey(task);
4121
+ if (!key) return false;
4122
+ if (!this.visibleLinks.length) return false;
4123
+ return !this.connectedTaskKeys[key];
4124
+ }
4125
+ activateTaskLinkGroup(task) {
4126
+ const taskKey = this.taskKey(task);
4127
+ const groupKey = this.firstLinkGroupKeyByTask(taskKey);
4128
+ const nextTaskKey = groupKey ? taskKey : null;
4129
+ const changed = this.activeLinkTaskKey !== nextTaskKey || this.activeLinkGroupKey !== groupKey;
4130
+ this.activeLinkTaskKey = nextTaskKey;
4131
+ this.activeLinkGroupKey = groupKey;
4132
+ return changed;
4133
+ }
4134
+ clearActiveLinkGroup() {
4135
+ if (!this.activeLinkTaskKey && !this.activeLinkGroupKey) return false;
4136
+ this.activeLinkTaskKey = null;
4137
+ this.activeLinkGroupKey = null;
4138
+ return true;
4139
+ }
4140
+ timeToX(value) {
4141
+ return (toTime(value) - this.startTime) * this.pxPerMs;
4142
+ }
4143
+ durationWidth(start, end) {
4144
+ return Math.max(this.taskMinWidth, this.timeToX(end) - this.timeToX(start));
4145
+ }
4146
+ rowTop(recordKey) {
4147
+ let top = 0;
4148
+ for (const row of this.visibleRows) {
4149
+ if (this.recordKey(row) === recordKey) return top;
4150
+ top += row.height || this.options.rowHeight;
4151
+ }
4152
+ return 0;
4153
+ }
4154
+ taskY(task) {
4155
+ return this.rowTop(task.__rowId) + this.taskOffsetY(task);
4156
+ }
4157
+ taskOffsetY(task) {
4158
+ if (task.parentAggregate && task.offsetY !== undefined) return task.offsetY;
4159
+ const lane = this.taskLane(task);
4160
+ if (lane && this.laneByKey[lane]) return this.laneByKey[lane].offset;
4161
+ return task.offsetY === undefined ? 10 : task.offsetY;
4162
+ }
4163
+ taskRenderHeight(task) {
4164
+ if (task.parentAggregate && task.height !== undefined) return task.height;
4165
+ const lane = this.taskLane(task);
4166
+ if (lane && this.laneByKey[lane]) return this.laneByKey[lane].height;
4167
+ if (task.height) return task.height;
4168
+ const style = this.taskStyle(task);
4169
+ return style.width || this.options.taskHeight;
4170
+ }
4171
+ createUnits(scale, scaleIndex) {
4172
+ const units = [];
4173
+ const unit = scale.unit || 'hour';
4174
+ const step = scale.step || 1;
4175
+ let cursor = this.floorDate(new Date(this.startTime), unit, scale.startOfWeek);
4176
+ let dateIndex = 0;
4177
+ while (cursor.getTime() < this.endTime) {
4178
+ const unitStart = Math.max(cursor.getTime(), this.startTime);
4179
+ const next = this.addUnit(cursor, unit, step);
4180
+ const unitEnd = Math.min(next.getTime(), this.endTime);
4181
+ if (unitEnd > unitStart) {
4182
+ const info = {
4183
+ type: unit,
4184
+ unit,
4185
+ step,
4186
+ scaleIndex,
4187
+ dateIndex,
4188
+ key: `${unit}-${cursor.toISOString()}`,
4189
+ title: this.formatUnitLabel(cursor, unit),
4190
+ startDate: new Date(unitStart),
4191
+ endDate: new Date(unitEnd),
4192
+ days: Math.max(1, Math.ceil((unitEnd - unitStart) / (24 * HOUR))),
4193
+ x: this.timeToX(unitStart),
4194
+ width: Math.max(1, this.timeToX(unitEnd) - this.timeToX(unitStart))
4195
+ };
4196
+ info.label = this.formatTimelineLabel(scale, info);
4197
+ units.push(info);
4198
+ dateIndex += 1;
4199
+ }
4200
+ cursor = next;
4201
+ }
4202
+ return units;
4203
+ }
4204
+ formatTimelineLabel(scale, dateInfo) {
4205
+ if (typeof scale.format === 'function') {
4206
+ return scale.format(dateInfo);
4207
+ }
4208
+ return this.formatUnitLabel(dateInfo.startDate, scale.unit);
4209
+ }
4210
+ floorDate(date, unit, startOfWeek = 'monday') {
4211
+ const next = new Date(date);
4212
+ next.setSeconds(0, 0);
4213
+ if (unit !== 'minute') next.setMinutes(0);
4214
+ if (!['minute', 'hour'].includes(unit)) next.setHours(0);
4215
+ if (unit === 'week') {
4216
+ const day = next.getDay() || 7;
4217
+ const offset = startOfWeek === 'sunday' ? next.getDay() : day - 1;
4218
+ next.setDate(next.getDate() - offset);
4219
+ }
4220
+ if (unit === 'month') next.setDate(1);
4221
+ if (unit === 'year') {
4222
+ next.setMonth(0);
4223
+ next.setDate(1);
4224
+ }
4225
+ return next;
4226
+ }
4227
+ addUnit(date, unit, step = 1) {
4228
+ const next = new Date(date);
4229
+ if (unit === 'minute') next.setMinutes(next.getMinutes() + step);else if (unit === 'hour') next.setHours(next.getHours() + step);else if (unit === 'day') next.setDate(next.getDate() + step);else if (unit === 'week') next.setDate(next.getDate() + 7 * step);else if (unit === 'month') next.setMonth(next.getMonth() + step);else if (unit === 'year') next.setFullYear(next.getFullYear() + step);
4230
+ return next;
4231
+ }
4232
+ unitToMs(unit) {
4233
+ if (unit === 'year') return 365 * 24 * HOUR;
4234
+ if (unit === 'month') return 30 * 24 * HOUR;
4235
+ if (unit === 'week') return 7 * 24 * HOUR;
4236
+ if (unit === 'day') return 24 * HOUR;
4237
+ if (unit === 'minute') return 60 * 1000;
4238
+ return HOUR;
4239
+ }
4240
+ formatUnitLabel(date, unit) {
4241
+ const month = String(date.getMonth() + 1).padStart(2, '0');
4242
+ const day = String(date.getDate()).padStart(2, '0');
4243
+ if (unit === 'year') return `${date.getFullYear()}`;
4244
+ if (unit === 'month') return `${date.getFullYear()}-${month}`;
4245
+ if (unit === 'week') return `${month}-${day}周`;
4246
+ if (unit === 'day') return `${month}-${day}`;
4247
+ if (unit === 'minute') return `${String(date.getHours()).padStart(2, '0')}:${String(date.getMinutes()).padStart(2, '0')}`;
4248
+ return String(date.getHours()).padStart(2, '0');
4249
+ }
4250
+ scaleRowHeight(scale) {
4251
+ return scale.rowHeight || this.options.headerRowHeight;
4252
+ }
4253
+ timelineCellStyle(scale) {
4254
+ const style = {
4255
+ ...(this.timelineHeader.style || {}),
4256
+ ...(scale.style || {})
4257
+ };
4258
+ if (!style.backgroundColor && this.timelineHeader.backgroundColor) {
4259
+ style.backgroundColor = this.timelineHeader.backgroundColor;
4260
+ }
4261
+ return style;
4262
+ }
4263
+ timelineCustomCellStyle(scale) {
4264
+ return {
4265
+ ...(this.timelineHeader.style || {}),
4266
+ ...(scale.style || {})
4267
+ };
4268
+ }
4269
+ getDescendantRecordKeys(row) {
4270
+ const ids = [];
4271
+ const walk = children => {
4272
+ children.forEach(child => {
4273
+ ids.push(this.recordKey(child));
4274
+ if (child.children) walk(child.children);
4275
+ });
4276
+ };
4277
+ walk(row.children || []);
4278
+ return ids;
4279
+ }
4280
+ overlapsRange(start, end) {
4281
+ return toTime(end) > this.startTime && toTime(start) < this.endTime;
4282
+ }
4283
+ isPrimaryTask(task) {
4284
+ if (task.logistics) return false;
4285
+ const lane = this.taskLane(task);
4286
+ if (!lane) return true;
4287
+ return lane === 'plan' || String(lane).startsWith('plan-');
4288
+ }
4289
+ isExpandedParentRow(recordKey) {
4290
+ const row = this.rowById[recordKey];
4291
+ return row && row.children && this.isExpanded(row);
4292
+ }
4293
+ aggregateWorkStatus(tasks) {
4294
+ if (tasks.some(task => task.workStatus === 'severe-delay')) return 'severe-delay';
4295
+ if (tasks.some(task => task.workStatus === 'slight-delay')) return 'slight-delay';
4296
+ if (tasks.every(task => task.workStatus === 'not-started')) return 'not-started';
4297
+ return 'progress-normal';
4298
+ }
4299
+ loadColor(load) {
4300
+ if (load >= 90) return '#ff4d5a';
4301
+ if (load >= 70) return '#f7a600';
4302
+ return '#43c51a';
4303
+ }
4304
+ get taskListTable() {
4305
+ return this.options.taskListTable || {};
4306
+ }
4307
+ get timelineHeader() {
4308
+ return this.options.timelineHeader || {};
4309
+ }
4310
+ get taskBar() {
4311
+ return this.options.taskBar || {};
4312
+ }
4313
+ get taskTooltip() {
4314
+ const tooltip = this.taskBar.tooltip;
4315
+ if (tooltip === false || tooltip === undefined || tooltip === null) return null;
4316
+ if (tooltip === true) return DEFAULT_TASK_TOOLTIP;
4317
+ return {
4318
+ ...DEFAULT_TASK_TOOLTIP,
4319
+ ...tooltip
4320
+ };
4321
+ }
4322
+ get dependency() {
4323
+ return this.options.dependency || {};
4324
+ }
4325
+ get grid() {
4326
+ return this.options.grid || {};
4327
+ }
4328
+ get tableWidth() {
4329
+ if (typeof this.taskListTable.tableWidth === 'number') return this.taskListTable.tableWidth;
4330
+ return this.tableColumns.reduce((total, column) => total + this.columnWidth(column), 0);
4331
+ }
4332
+ get tableColumns() {
4333
+ return this.sourceTableColumns.map(column => ({
4334
+ width: 120,
4335
+ ...column
4336
+ }));
4337
+ }
4338
+ get sourceTableColumns() {
4339
+ return this.taskListTable.columns && this.taskListTable.columns.length ? this.taskListTable.columns : DEFAULT_OPTIONS.taskListTable.columns;
4340
+ }
4341
+ get tableGridTemplateColumns() {
4342
+ return this.tableColumns.map((column, index) => {
4343
+ const width = this.columnWidth(column);
4344
+ if (index === this.tableColumns.length - 1) return `minmax(${width}px, 1fr)`;
4345
+ return `${width}px`;
4346
+ }).join(' ');
4347
+ }
4348
+ columnWidth(column) {
4349
+ return Number(column.width || column.minWidth || 120);
4350
+ }
4351
+ get startTime() {
4352
+ const value = this.options.minDate || this.derivedStartTime;
4353
+ return toTime(value);
4354
+ }
4355
+ get endTime() {
4356
+ const value = this.options.maxDate || this.derivedEndTime;
4357
+ return toTime(value);
4358
+ }
4359
+ get derivedStartTime() {
4360
+ const values = this.allTasks.map(task => toTime(this.taskStart(task))).filter(Number.isFinite);
4361
+ return values.length ? Math.min(...values) : Date.now();
4362
+ }
4363
+ get derivedEndTime() {
4364
+ const values = this.allTasks.map(task => toTime(this.taskEnd(task))).filter(Number.isFinite);
4365
+ return values.length ? Math.max(...values) : this.derivedStartTime + 24 * HOUR;
4366
+ }
4367
+ get headerHeight() {
4368
+ return this.timelineScales.reduce((total, scale) => total + this.scaleRowHeight(scale), 0);
4369
+ }
4370
+ get bodyHeight() {
4371
+ return this.visibleRows.reduce((height, row) => height + (row.height || this.options.rowHeight), 0);
4372
+ }
4373
+ get rangeMs() {
4374
+ return Math.max(1, this.endTime - this.startTime);
4375
+ }
4376
+ get baseTimelineScale() {
4377
+ const scales = this.timelineScales;
4378
+ return scales[scales.length - 1] || DEFAULT_OPTIONS.timelineHeader.scales[1];
4379
+ }
4380
+ get scaleMs() {
4381
+ return this.unitToMs(this.baseTimelineScale.unit) * (this.baseTimelineScale.step || 1);
4382
+ }
4383
+ get scalePx() {
4384
+ return this.baseTimelineScale.colWidth || this.timelineHeader.colWidth || DEFAULT_OPTIONS.timelineHeader.colWidth;
4385
+ }
4386
+ get pxPerMs() {
4387
+ return this.scalePx / this.scaleMs;
4388
+ }
4389
+ get chartWidth() {
4390
+ return Math.max(1, Math.ceil(this.rangeMs / this.scaleMs * this.scalePx));
4391
+ }
4392
+ get timelineScales() {
4393
+ return (this.timelineHeader.scales || []).filter(scale => scale.visible !== false);
4394
+ }
4395
+ get timelineUnitsByScale() {
4396
+ return this.timelineScales.map((scale, index) => this.createUnits(scale, index));
4397
+ }
4398
+ get majorUnits() {
4399
+ return this.timelineUnitsByScale[0] || [];
4400
+ }
4401
+ get baseUnits() {
4402
+ const units = this.timelineUnitsByScale;
4403
+ return units[units.length - 1] || [];
4404
+ }
4405
+ get verticalLines() {
4406
+ return this.baseUnits.map(unit => ({
4407
+ key: `line-${unit.key}`,
4408
+ x: unit.x,
4409
+ startDate: unit.startDate
4410
+ }));
4411
+ }
4412
+ get rowLines() {
4413
+ let top = 0;
4414
+ return this.visibleRows.map(row => {
4415
+ top += row.height || this.options.rowHeight;
4416
+ return {
4417
+ key: this.recordKey(row),
4418
+ y: top
4419
+ };
4420
+ });
4421
+ }
4422
+ get backgroundShades() {
4423
+ const fill = this.grid.alternatingBackgroundColor;
4424
+ if (!fill) return [];
4425
+ return this.majorUnits.filter((unit, index) => index % 2 === 0).map(unit => ({
4426
+ key: `shade-${unit.key}`,
4427
+ x: unit.x,
4428
+ width: unit.width,
4429
+ fill
4430
+ }));
4431
+ }
4432
+ get flatRows() {
4433
+ const rows = [];
4434
+ const walk = (items, level = 0) => {
4435
+ items.forEach(record => {
4436
+ rows.push({
4437
+ ...record,
4438
+ __recordKey: this.recordKey(record),
4439
+ level
4440
+ });
4441
+ if (record.children) walk(record.children, level + 1);
4442
+ });
4443
+ };
4444
+ walk(this.options.records);
4445
+ return rows;
4446
+ }
4447
+ get visibleRows() {
4448
+ const rows = [];
4449
+ const walk = (items, level = 0) => {
4450
+ items.forEach(record => {
4451
+ const normalized = {
4452
+ ...record,
4453
+ __recordKey: this.recordKey(record),
4454
+ level
4455
+ };
4456
+ rows.push(normalized);
4457
+ if (record.children && this.isExpanded(normalized)) {
4458
+ walk(record.children, level + 1);
4459
+ }
4460
+ });
4461
+ };
4462
+ walk(this.options.records);
4463
+ return rows;
4464
+ }
4465
+ get visibleRowIds() {
4466
+ return this.visibleRows.reduce((ids, row) => {
4467
+ ids[this.recordKey(row)] = true;
4468
+ return ids;
4469
+ }, {});
4470
+ }
4471
+ get rowById() {
4472
+ return this.flatRows.reduce((map, row) => {
4473
+ map[this.recordKey(row)] = row;
4474
+ return map;
4475
+ }, {});
4476
+ }
4477
+ get laneByKey() {
4478
+ return (this.taskBar.lanes || []).reduce((map, lane) => {
4479
+ map[lane.key] = lane;
4480
+ return map;
4481
+ }, {});
4482
+ }
4483
+ get allTasks() {
4484
+ const tasks = [];
4485
+ const tasksField = this.taskBar.tasksField;
4486
+ const walk = records => {
4487
+ records.forEach(record => {
4488
+ const recordKey = this.recordKey(record);
4489
+ const rowTasks = Array.isArray(record[tasksField]) ? record[tasksField] : [];
4490
+ rowTasks.forEach(task => {
4491
+ tasks.push({
4492
+ ...task,
4493
+ __rowId: recordKey
4494
+ });
4495
+ });
4496
+ if (record.children) walk(record.children);
4497
+ });
4498
+ };
4499
+ walk(this.options.records);
4500
+ return tasks;
4501
+ }
4502
+ get renderTasks() {
4503
+ return [...this.parentTimelineTasks, ...this.visibleTasks];
4504
+ }
4505
+ get stripedTasks() {
4506
+ return this.renderTasks.filter(task => task.striped);
4507
+ }
4508
+ get visibleTasks() {
4509
+ return this.allTasks.filter(task => {
4510
+ const row = this.rowById[task.__rowId];
4511
+ return row && !row.children && this.visibleRowIds[task.__rowId] && this.overlapsRange(this.taskStart(task), this.taskEnd(task));
4512
+ });
4513
+ }
4514
+ get parentTimelineTasks() {
4515
+ const tasks = [];
4516
+ this.visibleRows.forEach(row => {
4517
+ if (!row.children || this.isExpanded(row)) return;
4518
+ const descendantIds = this.getDescendantRecordKeys(row);
4519
+ const childTasks = this.allTasks.filter(task => {
4520
+ return descendantIds.includes(task.__rowId) && this.isPrimaryTask(task) && this.overlapsRange(this.taskStart(task), this.taskEnd(task));
4521
+ });
4522
+ if (!childTasks.length) return;
4523
+ const start = Math.min(...childTasks.map(task => toTime(this.taskStart(task))));
4524
+ const end = Math.max(...childTasks.map(task => toTime(this.taskEnd(task))));
4525
+ const progressTasks = childTasks.filter(task => this.taskProgress(task) !== undefined);
4526
+ const progress = progressTasks.length ? Math.round(progressTasks.reduce((total, task) => total + this.taskProgress(task), 0) / progressTasks.length) : undefined;
4527
+ tasks.push({
4528
+ [this.options.taskKeyField]: `${this.recordKey(row)}__aggregate`,
4529
+ [this.taskBar.startDateField]: start,
4530
+ [this.taskBar.endDateField]: end,
4531
+ [this.taskBar.progressField]: progress,
4532
+ [this.taskBar.statusField]: this.taskStatus(childTasks[0]),
4533
+ title: row.name,
4534
+ subtitle: `${childTasks.length} 个工单`,
4535
+ workStatus: this.aggregateWorkStatus(childTasks),
4536
+ completed: childTasks.every(task => task.completed),
4537
+ predecessorIncomplete: childTasks.some(task => task.predecessorIncomplete),
4538
+ height: Math.max(28, (row.height || this.options.rowHeight) - 12),
4539
+ offsetY: 6,
4540
+ parentAggregate: true,
4541
+ __rowId: this.recordKey(row)
4542
+ });
4543
+ });
4544
+ return tasks;
4545
+ }
4546
+ get visibleBackgroundRanges() {
4547
+ return (this.grid.backgroundRanges || []).filter(range => {
4548
+ return toTime(range.endDate) > this.startTime && toTime(range.startDate) < this.endTime;
4549
+ });
4550
+ }
4551
+ get visibleRowBackgroundRanges() {
4552
+ return (this.grid.rowBackgroundRanges || []).filter(range => {
4553
+ return this.visibleRowIds[range.recordKey] && !this.isExpandedParentRow(range.recordKey) && toTime(range.endDate) > this.startTime && toTime(range.startDate) < this.endTime;
4554
+ });
4555
+ }
4556
+ get markLines() {
4557
+ if (!this.options.markLine || this.options.markLine === true) return [];
4558
+ return Array.isArray(this.options.markLine) ? this.options.markLine : [this.options.markLine];
4559
+ }
4560
+ get taskLayoutByKey() {
4561
+ return this.renderTasks.reduce((map, task) => {
4562
+ const key = this.taskKey(task);
4563
+ if (!key) return map;
4564
+ const y = this.taskY(task);
4565
+ const height = this.taskRenderHeight(task);
4566
+ map[key] = {
4567
+ task,
4568
+ x: this.timeToX(this.taskStart(task)),
4569
+ y,
4570
+ width: this.durationWidth(this.taskStart(task), this.taskEnd(task)),
4571
+ height,
4572
+ centerY: y + height / 2
4573
+ };
4574
+ return map;
4575
+ }, {});
4576
+ }
4577
+ get visibleLinks() {
4578
+ return this.activeNormalizedLinks.filter(link => {
4579
+ return this.taskLayoutByKey[link.from] && this.taskLayoutByKey[link.to];
4580
+ });
4581
+ }
4582
+ get activeNormalizedLinks() {
4583
+ if (this.activeLinkGroupKey) {
4584
+ return this.normalizedLinks.filter(link => link.__groupKey === this.activeLinkGroupKey);
4585
+ }
4586
+ return this.dependency.showLinks === true ? this.normalizedLinks : [];
4587
+ }
4588
+ get normalizedLinks() {
4589
+ const links = [];
4590
+ (this.dependency.links || []).forEach((link, linkIndex) => {
4591
+ const fromKeys = toKeyList(link.from);
4592
+ const toKeys = toKeyList(link.to);
4593
+ const groupKey = link.id === undefined || link.id === null ? `link-${linkIndex}` : String(link.id);
4594
+ fromKeys.forEach(from => {
4595
+ toKeys.forEach(to => {
4596
+ if (from === undefined || from === null || to === undefined || to === null) return;
4597
+ links.push({
4598
+ ...link,
4599
+ from,
4600
+ to,
4601
+ __groupKey: groupKey
4602
+ });
4603
+ });
4604
+ });
4605
+ });
4606
+ return links;
4607
+ }
4608
+ firstLinkGroupKeyByTask(taskKey) {
4609
+ if (taskKey === undefined || taskKey === null) return null;
4610
+ const link = this.normalizedLinks.find(item => item.from === taskKey || item.to === taskKey);
4611
+ return link ? link.__groupKey : null;
4612
+ }
4613
+ get connectedTaskKeys() {
4614
+ return this.visibleLinks.reduce((map, link) => {
4615
+ map[link.from] = true;
4616
+ map[link.to] = true;
4617
+ return map;
4618
+ }, {});
4619
+ }
4620
+ get taskMinWidth() {
4621
+ if (typeof this.taskBar.barStyle === 'function') return 4;
4622
+ const style = this.resolveStyle(this.taskBar.barStyle, {});
4623
+ return style.minSize || 4;
4624
+ }
4625
+ }
4626
+ function mergeOptions(base, patch) {
4627
+ const baseTaskBar = base.taskBar || {};
4628
+ const patchTaskBar = patch.taskBar || {};
4629
+ return {
4630
+ ...base,
4631
+ ...patch,
4632
+ taskListTable: {
4633
+ ...(base.taskListTable || {}),
4634
+ ...(patch.taskListTable || {})
4635
+ },
4636
+ timelineHeader: {
4637
+ ...(base.timelineHeader || {}),
4638
+ ...(patch.timelineHeader || {}),
4639
+ scales: patch.timelineHeader && patch.timelineHeader.scales ? patch.timelineHeader.scales : base.timelineHeader && base.timelineHeader.scales || []
4640
+ },
4641
+ taskBar: {
4642
+ ...baseTaskBar,
4643
+ ...patchTaskBar,
4644
+ tooltip: mergeNestedOption(baseTaskBar.tooltip, patchTaskBar.tooltip),
4645
+ lanes: patchTaskBar.lanes ? patchTaskBar.lanes : baseTaskBar.lanes || []
4646
+ },
4647
+ dependency: {
4648
+ ...(base.dependency || {}),
4649
+ ...(patch.dependency || {}),
4650
+ links: patch.dependency && patch.dependency.links ? patch.dependency.links : base.dependency && base.dependency.links || []
4651
+ },
4652
+ grid: {
4653
+ ...(base.grid || {}),
4654
+ ...(patch.grid || {}),
4655
+ backgroundRanges: patch.grid && patch.grid.backgroundRanges ? patch.grid.backgroundRanges : base.grid && base.grid.backgroundRanges || [],
4656
+ rowBackgroundRanges: patch.grid && patch.grid.rowBackgroundRanges ? patch.grid.rowBackgroundRanges : base.grid && base.grid.rowBackgroundRanges || []
4657
+ },
4658
+ records: patch.records || base.records || []
4659
+ };
4660
+ }
4661
+ function mergeNestedOption(base, patch) {
4662
+ if (patch === undefined) return base;
4663
+ if (patch === false || patch === true || patch === null) return patch;
4664
+ if (typeof patch === 'object' && !Array.isArray(patch)) {
4665
+ return {
4666
+ ...(typeof base === 'object' && base ? base : {}),
4667
+ ...patch
4668
+ };
4669
+ }
4670
+ return patch;
4671
+ }
4672
+ function applyTableHeaderStyle(node, style = {}) {
4673
+ if (!style) return;
4674
+ if (style.backgroundColor) node.style.background = style.backgroundColor;
4675
+ if (style.color) node.style.color = style.color;
4676
+ if (style.fontSize) node.style.fontSize = `${style.fontSize}px`;
4677
+ if (style.fontWeight) node.style.fontWeight = style.fontWeight;
4678
+ }
4679
+ function applyTimelineStyle(node, style = {}) {
4680
+ if (style.backgroundColor) node.style.background = style.backgroundColor;
4681
+ if (style.color) node.style.color = style.color;
4682
+ if (style.fontSize) node.style.fontSize = `${style.fontSize}px`;
4683
+ if (style.fontWeight) node.style.fontWeight = style.fontWeight;
4684
+ if (style.textAlign) node.style.justifyContent = alignToFlex(style.textAlign);
4685
+ }
4686
+ function applyTimelineStyleToContent(content, style = {}) {
4687
+ if (!style || !Object.keys(style).length) return;
4688
+ const target = content.nodeType === 11 ? content.firstElementChild : content;
4689
+ if (target instanceof HTMLElement) {
4690
+ applyTimelineStyle(target, style);
4691
+ }
4692
+ }
4693
+ function alignToFlex(value) {
4694
+ if (value === 'left' || value === 'start') return 'flex-start';
4695
+ if (value === 'right' || value === 'end') return 'flex-end';
4696
+ return 'center';
4697
+ }
4698
+ function toKeyList(value) {
4699
+ if (Array.isArray(value)) return value;
4700
+ if (value === undefined || value === null) return [];
4701
+ return [value];
4702
+ }
4703
+ function el(tag, className = '') {
4704
+ const node = document.createElement(tag);
4705
+ if (className) node.className = className;
4706
+ return node;
4707
+ }
4708
+ function svgEl(tag, className = '') {
4709
+ const node = document.createElementNS(SVG_NS, tag);
4710
+ if (className) node.setAttribute('class', className);
4711
+ return node;
4712
+ }
4713
+ function attrs(node, values) {
4714
+ Object.keys(values).forEach(key => {
4715
+ if (values[key] !== undefined && values[key] !== null) {
4716
+ node.setAttribute(key, values[key]);
4717
+ }
4718
+ });
4719
+ }
4720
+ function toTime(value) {
4721
+ if (typeof value === 'number') return value;
4722
+ if (value instanceof Date) return value.getTime();
4723
+ return new Date(value).getTime();
4724
+ }
4725
+ function formatDateTime(date) {
4726
+ const value = date instanceof Date ? date : new Date(date);
4727
+ const month = String(value.getMonth() + 1).padStart(2, '0');
4728
+ const day = String(value.getDate()).padStart(2, '0');
4729
+ const hour = String(value.getHours()).padStart(2, '0');
4730
+ const minute = String(value.getMinutes()).padStart(2, '0');
4731
+ return `${value.getFullYear()}-${month}-${day} ${hour}:${minute}`;
4732
+ }
4733
+ function formatLocalDateTime(date) {
4734
+ const value = date instanceof Date ? date : new Date(date);
4735
+ const month = String(value.getMonth() + 1).padStart(2, '0');
4736
+ const day = String(value.getDate()).padStart(2, '0');
4737
+ const hour = String(value.getHours()).padStart(2, '0');
4738
+ const minute = String(value.getMinutes()).padStart(2, '0');
4739
+ const second = String(value.getSeconds()).padStart(2, '0');
4740
+ return `${value.getFullYear()}-${month}-${day}T${hour}:${minute}:${second}`;
4741
+ }
4742
+ ;// ./packages/gantt/src/index.js
4743
+
4744
+ ;// ./node_modules/.pnpm/@vue+cli-service@5.0.9_@vue+compiler-sfc@3.5.38_lodash@4.18.1_vue-template-compiler@2.7_c9972e4047f004f60ec0a5944100d8f4/node_modules/@vue/cli-service/lib/commands/build/entry-lib-no-default.js
4745
+
4746
+
4747
+
4748
+ module.exports = __webpack_exports__;
4749
+ /******/ })()
4750
+ ;
4751
+ //# sourceMappingURL=VanillaGantt.common.js.map