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