vxe-gantt 3.7.4 → 3.8.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.
package/lib/index.umd.js CHANGED
@@ -179,6 +179,22 @@ module.exports = function (argument) {
179
179
  };
180
180
 
181
181
 
182
+ /***/ }),
183
+
184
+ /***/ 7080:
185
+ /***/ (function(module, __unused_webpack_exports, __webpack_require__) {
186
+
187
+ "use strict";
188
+
189
+ var has = (__webpack_require__(4402).has);
190
+
191
+ // Perform ? RequireInternalSlot(M, [[SetData]])
192
+ module.exports = function (it) {
193
+ has(it);
194
+ return it;
195
+ };
196
+
197
+
182
198
  /***/ }),
183
199
 
184
200
  /***/ 6469:
@@ -260,6 +276,25 @@ module.exports = function (argument) {
260
276
  };
261
277
 
262
278
 
279
+ /***/ }),
280
+
281
+ /***/ 5652:
282
+ /***/ (function(module, __unused_webpack_exports, __webpack_require__) {
283
+
284
+ "use strict";
285
+
286
+ // FF26- bug: ArrayBuffers are non-extensible, but Object.isExtensible does not report it
287
+ var fails = __webpack_require__(9039);
288
+
289
+ module.exports = fails(function () {
290
+ if (typeof ArrayBuffer == 'function') {
291
+ var buffer = new ArrayBuffer(8);
292
+ // eslint-disable-next-line es/no-object-isextensible, es/no-object-defineproperty -- safe
293
+ if (Object.isExtensible(buffer)) Object.defineProperty(buffer, 'a', { value: 8 });
294
+ }
295
+ });
296
+
297
+
263
298
  /***/ }),
264
299
 
265
300
  /***/ 235:
@@ -778,6 +813,334 @@ module.exports = TO_STRING_TAG_SUPPORT ? classofRaw : function (it) {
778
813
  };
779
814
 
780
815
 
816
+ /***/ }),
817
+
818
+ /***/ 6938:
819
+ /***/ (function(module, __unused_webpack_exports, __webpack_require__) {
820
+
821
+ "use strict";
822
+
823
+ var create = __webpack_require__(2360);
824
+ var defineBuiltInAccessor = __webpack_require__(2106);
825
+ var defineBuiltIns = __webpack_require__(6279);
826
+ var bind = __webpack_require__(6080);
827
+ var anInstance = __webpack_require__(679);
828
+ var isNullOrUndefined = __webpack_require__(4117);
829
+ var iterate = __webpack_require__(2652);
830
+ var defineIterator = __webpack_require__(1088);
831
+ var createIterResultObject = __webpack_require__(2529);
832
+ var setSpecies = __webpack_require__(7633);
833
+ var DESCRIPTORS = __webpack_require__(3724);
834
+ var fastKey = (__webpack_require__(3451).fastKey);
835
+ var InternalStateModule = __webpack_require__(1181);
836
+
837
+ var setInternalState = InternalStateModule.set;
838
+ var internalStateGetterFor = InternalStateModule.getterFor;
839
+
840
+ module.exports = {
841
+ getConstructor: function (wrapper, CONSTRUCTOR_NAME, IS_MAP, ADDER) {
842
+ var Constructor = wrapper(function (that, iterable) {
843
+ anInstance(that, Prototype);
844
+ setInternalState(that, {
845
+ type: CONSTRUCTOR_NAME,
846
+ index: create(null),
847
+ first: null,
848
+ last: null,
849
+ size: 0
850
+ });
851
+ if (!DESCRIPTORS) that.size = 0;
852
+ if (!isNullOrUndefined(iterable)) iterate(iterable, that[ADDER], { that: that, AS_ENTRIES: IS_MAP });
853
+ });
854
+
855
+ var Prototype = Constructor.prototype;
856
+
857
+ var getInternalState = internalStateGetterFor(CONSTRUCTOR_NAME);
858
+
859
+ var define = function (that, key, value) {
860
+ var state = getInternalState(that);
861
+ var entry = getEntry(that, key);
862
+ var previous, index;
863
+ // change existing entry
864
+ if (entry) {
865
+ entry.value = value;
866
+ // create new entry
867
+ } else {
868
+ state.last = entry = {
869
+ index: index = fastKey(key, true),
870
+ key: key,
871
+ value: value,
872
+ previous: previous = state.last,
873
+ next: null,
874
+ removed: false
875
+ };
876
+ if (!state.first) state.first = entry;
877
+ if (previous) previous.next = entry;
878
+ if (DESCRIPTORS) state.size++;
879
+ else that.size++;
880
+ // add to index
881
+ if (index !== 'F') state.index[index] = entry;
882
+ } return that;
883
+ };
884
+
885
+ var getEntry = function (that, key) {
886
+ var state = getInternalState(that);
887
+ // fast case
888
+ var index = fastKey(key);
889
+ var entry;
890
+ if (index !== 'F') return state.index[index];
891
+ // frozen object case
892
+ for (entry = state.first; entry; entry = entry.next) {
893
+ if (entry.key === key) return entry;
894
+ }
895
+ };
896
+
897
+ defineBuiltIns(Prototype, {
898
+ // `{ Map, Set }.prototype.clear()` methods
899
+ // https://tc39.es/ecma262/#sec-map.prototype.clear
900
+ // https://tc39.es/ecma262/#sec-set.prototype.clear
901
+ clear: function clear() {
902
+ var that = this;
903
+ var state = getInternalState(that);
904
+ var entry = state.first;
905
+ while (entry) {
906
+ entry.removed = true;
907
+ if (entry.previous) entry.previous = entry.previous.next = null;
908
+ entry = entry.next;
909
+ }
910
+ state.first = state.last = null;
911
+ state.index = create(null);
912
+ if (DESCRIPTORS) state.size = 0;
913
+ else that.size = 0;
914
+ },
915
+ // `{ Map, Set }.prototype.delete(key)` methods
916
+ // https://tc39.es/ecma262/#sec-map.prototype.delete
917
+ // https://tc39.es/ecma262/#sec-set.prototype.delete
918
+ 'delete': function (key) {
919
+ var that = this;
920
+ var state = getInternalState(that);
921
+ var entry = getEntry(that, key);
922
+ if (entry) {
923
+ var next = entry.next;
924
+ var prev = entry.previous;
925
+ delete state.index[entry.index];
926
+ entry.removed = true;
927
+ if (prev) prev.next = next;
928
+ if (next) next.previous = prev;
929
+ if (state.first === entry) state.first = next;
930
+ if (state.last === entry) state.last = prev;
931
+ if (DESCRIPTORS) state.size--;
932
+ else that.size--;
933
+ } return !!entry;
934
+ },
935
+ // `{ Map, Set }.prototype.forEach(callbackfn, thisArg = undefined)` methods
936
+ // https://tc39.es/ecma262/#sec-map.prototype.foreach
937
+ // https://tc39.es/ecma262/#sec-set.prototype.foreach
938
+ forEach: function forEach(callbackfn /* , that = undefined */) {
939
+ var state = getInternalState(this);
940
+ var boundFunction = bind(callbackfn, arguments.length > 1 ? arguments[1] : undefined);
941
+ var entry;
942
+ while (entry = entry ? entry.next : state.first) {
943
+ boundFunction(entry.value, entry.key, this);
944
+ // revert to the last existing entry
945
+ while (entry && entry.removed) entry = entry.previous;
946
+ }
947
+ },
948
+ // `{ Map, Set}.prototype.has(key)` methods
949
+ // https://tc39.es/ecma262/#sec-map.prototype.has
950
+ // https://tc39.es/ecma262/#sec-set.prototype.has
951
+ has: function has(key) {
952
+ return !!getEntry(this, key);
953
+ }
954
+ });
955
+
956
+ defineBuiltIns(Prototype, IS_MAP ? {
957
+ // `Map.prototype.get(key)` method
958
+ // https://tc39.es/ecma262/#sec-map.prototype.get
959
+ get: function get(key) {
960
+ var entry = getEntry(this, key);
961
+ return entry && entry.value;
962
+ },
963
+ // `Map.prototype.set(key, value)` method
964
+ // https://tc39.es/ecma262/#sec-map.prototype.set
965
+ set: function set(key, value) {
966
+ return define(this, key === 0 ? 0 : key, value);
967
+ }
968
+ } : {
969
+ // `Set.prototype.add(value)` method
970
+ // https://tc39.es/ecma262/#sec-set.prototype.add
971
+ add: function add(value) {
972
+ return define(this, value = value === 0 ? 0 : value, value);
973
+ }
974
+ });
975
+ if (DESCRIPTORS) defineBuiltInAccessor(Prototype, 'size', {
976
+ configurable: true,
977
+ get: function () {
978
+ return getInternalState(this).size;
979
+ }
980
+ });
981
+ return Constructor;
982
+ },
983
+ setStrong: function (Constructor, CONSTRUCTOR_NAME, IS_MAP) {
984
+ var ITERATOR_NAME = CONSTRUCTOR_NAME + ' Iterator';
985
+ var getInternalCollectionState = internalStateGetterFor(CONSTRUCTOR_NAME);
986
+ var getInternalIteratorState = internalStateGetterFor(ITERATOR_NAME);
987
+ // `{ Map, Set }.prototype.{ keys, values, entries, @@iterator }()` methods
988
+ // https://tc39.es/ecma262/#sec-map.prototype.entries
989
+ // https://tc39.es/ecma262/#sec-map.prototype.keys
990
+ // https://tc39.es/ecma262/#sec-map.prototype.values
991
+ // https://tc39.es/ecma262/#sec-map.prototype-@@iterator
992
+ // https://tc39.es/ecma262/#sec-set.prototype.entries
993
+ // https://tc39.es/ecma262/#sec-set.prototype.keys
994
+ // https://tc39.es/ecma262/#sec-set.prototype.values
995
+ // https://tc39.es/ecma262/#sec-set.prototype-@@iterator
996
+ defineIterator(Constructor, CONSTRUCTOR_NAME, function (iterated, kind) {
997
+ setInternalState(this, {
998
+ type: ITERATOR_NAME,
999
+ target: iterated,
1000
+ state: getInternalCollectionState(iterated),
1001
+ kind: kind,
1002
+ last: null
1003
+ });
1004
+ }, function () {
1005
+ var state = getInternalIteratorState(this);
1006
+ var kind = state.kind;
1007
+ var entry = state.last;
1008
+ // revert to the last existing entry
1009
+ while (entry && entry.removed) entry = entry.previous;
1010
+ // get next entry
1011
+ if (!state.target || !(state.last = entry = entry ? entry.next : state.state.first)) {
1012
+ // or finish the iteration
1013
+ state.target = null;
1014
+ return createIterResultObject(undefined, true);
1015
+ }
1016
+ // return step by kind
1017
+ if (kind === 'keys') return createIterResultObject(entry.key, false);
1018
+ if (kind === 'values') return createIterResultObject(entry.value, false);
1019
+ return createIterResultObject([entry.key, entry.value], false);
1020
+ }, IS_MAP ? 'entries' : 'values', !IS_MAP, true);
1021
+
1022
+ // `{ Map, Set }.prototype[@@species]` accessors
1023
+ // https://tc39.es/ecma262/#sec-get-map-@@species
1024
+ // https://tc39.es/ecma262/#sec-get-set-@@species
1025
+ setSpecies(CONSTRUCTOR_NAME);
1026
+ }
1027
+ };
1028
+
1029
+
1030
+ /***/ }),
1031
+
1032
+ /***/ 6468:
1033
+ /***/ (function(module, __unused_webpack_exports, __webpack_require__) {
1034
+
1035
+ "use strict";
1036
+
1037
+ var $ = __webpack_require__(6518);
1038
+ var globalThis = __webpack_require__(4576);
1039
+ var uncurryThis = __webpack_require__(9504);
1040
+ var isForced = __webpack_require__(2796);
1041
+ var defineBuiltIn = __webpack_require__(6840);
1042
+ var InternalMetadataModule = __webpack_require__(3451);
1043
+ var iterate = __webpack_require__(2652);
1044
+ var anInstance = __webpack_require__(679);
1045
+ var isCallable = __webpack_require__(4901);
1046
+ var isNullOrUndefined = __webpack_require__(4117);
1047
+ var isObject = __webpack_require__(34);
1048
+ var fails = __webpack_require__(9039);
1049
+ var checkCorrectnessOfIteration = __webpack_require__(4428);
1050
+ var setToStringTag = __webpack_require__(687);
1051
+ var inheritIfRequired = __webpack_require__(3167);
1052
+
1053
+ module.exports = function (CONSTRUCTOR_NAME, wrapper, common) {
1054
+ var IS_MAP = CONSTRUCTOR_NAME.indexOf('Map') !== -1;
1055
+ var IS_WEAK = CONSTRUCTOR_NAME.indexOf('Weak') !== -1;
1056
+ var ADDER = IS_MAP ? 'set' : 'add';
1057
+ var NativeConstructor = globalThis[CONSTRUCTOR_NAME];
1058
+ var NativePrototype = NativeConstructor && NativeConstructor.prototype;
1059
+ var Constructor = NativeConstructor;
1060
+ var exported = {};
1061
+
1062
+ var fixMethod = function (KEY) {
1063
+ var uncurriedNativeMethod = uncurryThis(NativePrototype[KEY]);
1064
+ defineBuiltIn(NativePrototype, KEY,
1065
+ KEY === 'add' ? function add(value) {
1066
+ uncurriedNativeMethod(this, value === 0 ? 0 : value);
1067
+ return this;
1068
+ } : KEY === 'delete' ? function (key) {
1069
+ return IS_WEAK && !isObject(key) ? false : uncurriedNativeMethod(this, key === 0 ? 0 : key);
1070
+ } : KEY === 'get' ? function get(key) {
1071
+ return IS_WEAK && !isObject(key) ? undefined : uncurriedNativeMethod(this, key === 0 ? 0 : key);
1072
+ } : KEY === 'has' ? function has(key) {
1073
+ return IS_WEAK && !isObject(key) ? false : uncurriedNativeMethod(this, key === 0 ? 0 : key);
1074
+ } : function set(key, value) {
1075
+ uncurriedNativeMethod(this, key === 0 ? 0 : key, value);
1076
+ return this;
1077
+ }
1078
+ );
1079
+ };
1080
+
1081
+ var REPLACE = isForced(
1082
+ CONSTRUCTOR_NAME,
1083
+ !isCallable(NativeConstructor) || !(IS_WEAK || NativePrototype.forEach && !fails(function () {
1084
+ new NativeConstructor().entries().next();
1085
+ }))
1086
+ );
1087
+
1088
+ if (REPLACE) {
1089
+ // create collection constructor
1090
+ Constructor = common.getConstructor(wrapper, CONSTRUCTOR_NAME, IS_MAP, ADDER);
1091
+ InternalMetadataModule.enable();
1092
+ } else if (isForced(CONSTRUCTOR_NAME, true)) {
1093
+ var instance = new Constructor();
1094
+ // early implementations not supports chaining
1095
+ var HASNT_CHAINING = instance[ADDER](IS_WEAK ? {} : -0, 1) !== instance;
1096
+ // V8 ~ Chromium 40- weak-collections throws on primitives, but should return false
1097
+ var THROWS_ON_PRIMITIVES = fails(function () { instance.has(1); });
1098
+ // most early implementations doesn't supports iterables, most modern - not close it correctly
1099
+ // eslint-disable-next-line no-new -- required for testing
1100
+ var ACCEPT_ITERABLES = checkCorrectnessOfIteration(function (iterable) { new NativeConstructor(iterable); });
1101
+ // for early implementations -0 and +0 not the same
1102
+ var BUGGY_ZERO = !IS_WEAK && fails(function () {
1103
+ // V8 ~ Chromium 42- fails only with 5+ elements
1104
+ var $instance = new NativeConstructor();
1105
+ var index = 5;
1106
+ while (index--) $instance[ADDER](index, index);
1107
+ return !$instance.has(-0);
1108
+ });
1109
+
1110
+ if (!ACCEPT_ITERABLES) {
1111
+ Constructor = wrapper(function (dummy, iterable) {
1112
+ anInstance(dummy, NativePrototype);
1113
+ var that = inheritIfRequired(new NativeConstructor(), dummy, Constructor);
1114
+ if (!isNullOrUndefined(iterable)) iterate(iterable, that[ADDER], { that: that, AS_ENTRIES: IS_MAP });
1115
+ return that;
1116
+ });
1117
+ Constructor.prototype = NativePrototype;
1118
+ NativePrototype.constructor = Constructor;
1119
+ }
1120
+
1121
+ if (THROWS_ON_PRIMITIVES || BUGGY_ZERO) {
1122
+ fixMethod('delete');
1123
+ fixMethod('has');
1124
+ IS_MAP && fixMethod('get');
1125
+ }
1126
+
1127
+ if (BUGGY_ZERO || HASNT_CHAINING) fixMethod(ADDER);
1128
+
1129
+ // weak collections should not contains .clear method
1130
+ if (IS_WEAK && NativePrototype.clear) delete NativePrototype.clear;
1131
+ }
1132
+
1133
+ exported[CONSTRUCTOR_NAME] = Constructor;
1134
+ $({ global: true, constructor: true, forced: Constructor !== NativeConstructor }, exported);
1135
+
1136
+ setToStringTag(Constructor, CONSTRUCTOR_NAME);
1137
+
1138
+ if (!IS_WEAK) common.setStrong(Constructor, CONSTRUCTOR_NAME, IS_MAP);
1139
+
1140
+ return Constructor;
1141
+ };
1142
+
1143
+
781
1144
  /***/ }),
782
1145
 
783
1146
  /***/ 7740:
@@ -1543,6 +1906,21 @@ module.exports = function (KEY, exec, FORCED, SHAM) {
1543
1906
  };
1544
1907
 
1545
1908
 
1909
+ /***/ }),
1910
+
1911
+ /***/ 2744:
1912
+ /***/ (function(module, __unused_webpack_exports, __webpack_require__) {
1913
+
1914
+ "use strict";
1915
+
1916
+ var fails = __webpack_require__(9039);
1917
+
1918
+ module.exports = !fails(function () {
1919
+ // eslint-disable-next-line es/no-object-isextensible, es/no-object-preventextensions -- required for testing
1920
+ return Object.isExtensible(Object.preventExtensions({}));
1921
+ });
1922
+
1923
+
1546
1924
  /***/ }),
1547
1925
 
1548
1926
  /***/ 8745:
@@ -1799,6 +2177,54 @@ module.exports = function (V, P) {
1799
2177
  };
1800
2178
 
1801
2179
 
2180
+ /***/ }),
2181
+
2182
+ /***/ 3789:
2183
+ /***/ (function(module, __unused_webpack_exports, __webpack_require__) {
2184
+
2185
+ "use strict";
2186
+
2187
+ var aCallable = __webpack_require__(9306);
2188
+ var anObject = __webpack_require__(8551);
2189
+ var call = __webpack_require__(9565);
2190
+ var toIntegerOrInfinity = __webpack_require__(1291);
2191
+ var getIteratorDirect = __webpack_require__(1767);
2192
+
2193
+ var INVALID_SIZE = 'Invalid size';
2194
+ var $RangeError = RangeError;
2195
+ var $TypeError = TypeError;
2196
+ var max = Math.max;
2197
+
2198
+ var SetRecord = function (set, intSize) {
2199
+ this.set = set;
2200
+ this.size = max(intSize, 0);
2201
+ this.has = aCallable(set.has);
2202
+ this.keys = aCallable(set.keys);
2203
+ };
2204
+
2205
+ SetRecord.prototype = {
2206
+ getIterator: function () {
2207
+ return getIteratorDirect(anObject(call(this.keys, this.set)));
2208
+ },
2209
+ includes: function (it) {
2210
+ return call(this.has, this.set, it);
2211
+ }
2212
+ };
2213
+
2214
+ // `GetSetRecord` abstract operation
2215
+ // https://tc39.es/proposal-set-methods/#sec-getsetrecord
2216
+ module.exports = function (obj) {
2217
+ anObject(obj);
2218
+ var numSize = +obj.size;
2219
+ // NOTE: If size is undefined, then numSize will be NaN
2220
+ // eslint-disable-next-line no-self-compare -- NaN check
2221
+ if (numSize !== numSize) throw new $TypeError(INVALID_SIZE);
2222
+ var intSize = toIntegerOrInfinity(numSize);
2223
+ if (intSize < 0) throw new $RangeError(INVALID_SIZE);
2224
+ return new SetRecord(obj, intSize);
2225
+ };
2226
+
2227
+
1802
2228
  /***/ }),
1803
2229
 
1804
2230
  /***/ 2478:
@@ -2047,6 +2473,105 @@ module.exports = function (O, options) {
2047
2473
  };
2048
2474
 
2049
2475
 
2476
+ /***/ }),
2477
+
2478
+ /***/ 3451:
2479
+ /***/ (function(module, __unused_webpack_exports, __webpack_require__) {
2480
+
2481
+ "use strict";
2482
+
2483
+ var $ = __webpack_require__(6518);
2484
+ var uncurryThis = __webpack_require__(9504);
2485
+ var hiddenKeys = __webpack_require__(421);
2486
+ var isObject = __webpack_require__(34);
2487
+ var hasOwn = __webpack_require__(9297);
2488
+ var defineProperty = (__webpack_require__(4913).f);
2489
+ var getOwnPropertyNamesModule = __webpack_require__(8480);
2490
+ var getOwnPropertyNamesExternalModule = __webpack_require__(298);
2491
+ var isExtensible = __webpack_require__(4124);
2492
+ var uid = __webpack_require__(3392);
2493
+ var FREEZING = __webpack_require__(2744);
2494
+
2495
+ var REQUIRED = false;
2496
+ var METADATA = uid('meta');
2497
+ var id = 0;
2498
+
2499
+ var setMetadata = function (it) {
2500
+ defineProperty(it, METADATA, { value: {
2501
+ objectID: 'O' + id++, // object ID
2502
+ weakData: {} // weak collections IDs
2503
+ } });
2504
+ };
2505
+
2506
+ var fastKey = function (it, create) {
2507
+ // return a primitive with prefix
2508
+ if (!isObject(it)) return typeof it == 'symbol' ? it : (typeof it == 'string' ? 'S' : 'P') + it;
2509
+ if (!hasOwn(it, METADATA)) {
2510
+ // can't set metadata to uncaught frozen object
2511
+ if (!isExtensible(it)) return 'F';
2512
+ // not necessary to add metadata
2513
+ if (!create) return 'E';
2514
+ // add missing metadata
2515
+ setMetadata(it);
2516
+ // return object ID
2517
+ } return it[METADATA].objectID;
2518
+ };
2519
+
2520
+ var getWeakData = function (it, create) {
2521
+ if (!hasOwn(it, METADATA)) {
2522
+ // can't set metadata to uncaught frozen object
2523
+ if (!isExtensible(it)) return true;
2524
+ // not necessary to add metadata
2525
+ if (!create) return false;
2526
+ // add missing metadata
2527
+ setMetadata(it);
2528
+ // return the store of weak collections IDs
2529
+ } return it[METADATA].weakData;
2530
+ };
2531
+
2532
+ // add metadata on freeze-family methods calling
2533
+ var onFreeze = function (it) {
2534
+ if (FREEZING && REQUIRED && isExtensible(it) && !hasOwn(it, METADATA)) setMetadata(it);
2535
+ return it;
2536
+ };
2537
+
2538
+ var enable = function () {
2539
+ meta.enable = function () { /* empty */ };
2540
+ REQUIRED = true;
2541
+ var getOwnPropertyNames = getOwnPropertyNamesModule.f;
2542
+ var splice = uncurryThis([].splice);
2543
+ var test = {};
2544
+ // eslint-disable-next-line unicorn/no-immediate-mutation -- ES3 syntax limitation
2545
+ test[METADATA] = 1;
2546
+
2547
+ // prevent exposing of metadata key
2548
+ if (getOwnPropertyNames(test).length) {
2549
+ getOwnPropertyNamesModule.f = function (it) {
2550
+ var result = getOwnPropertyNames(it);
2551
+ for (var i = 0, length = result.length; i < length; i++) {
2552
+ if (result[i] === METADATA) {
2553
+ splice(result, i, 1);
2554
+ break;
2555
+ }
2556
+ } return result;
2557
+ };
2558
+
2559
+ $({ target: 'Object', stat: true, forced: true }, {
2560
+ getOwnPropertyNames: getOwnPropertyNamesExternalModule.f
2561
+ });
2562
+ }
2563
+ };
2564
+
2565
+ var meta = module.exports = {
2566
+ enable: enable,
2567
+ fastKey: fastKey,
2568
+ getWeakData: getWeakData,
2569
+ onFreeze: onFreeze
2570
+ };
2571
+
2572
+ hiddenKeys[METADATA] = true;
2573
+
2574
+
2050
2575
  /***/ }),
2051
2576
 
2052
2577
  /***/ 1181:
@@ -2385,6 +2910,26 @@ module.exports = USE_SYMBOL_AS_UID ? function (it) {
2385
2910
  };
2386
2911
 
2387
2912
 
2913
+ /***/ }),
2914
+
2915
+ /***/ 507:
2916
+ /***/ (function(module, __unused_webpack_exports, __webpack_require__) {
2917
+
2918
+ "use strict";
2919
+
2920
+ var call = __webpack_require__(9565);
2921
+
2922
+ module.exports = function (record, fn, ITERATOR_INSTEAD_OF_RECORD) {
2923
+ var iterator = ITERATOR_INSTEAD_OF_RECORD ? record : record.iterator;
2924
+ var next = record.next;
2925
+ var step, result;
2926
+ while (!(step = call(next, iterator)).done) {
2927
+ result = fn(step.value);
2928
+ if (result !== undefined) return result;
2929
+ }
2930
+ };
2931
+
2932
+
2388
2933
  /***/ }),
2389
2934
 
2390
2935
  /***/ 2652:
@@ -2951,6 +3496,29 @@ Function.prototype.toString = makeBuiltIn(function toString() {
2951
3496
  }, 'toString');
2952
3497
 
2953
3498
 
3499
+ /***/ }),
3500
+
3501
+ /***/ 2248:
3502
+ /***/ (function(module, __unused_webpack_exports, __webpack_require__) {
3503
+
3504
+ "use strict";
3505
+
3506
+ var uncurryThis = __webpack_require__(9504);
3507
+
3508
+ // eslint-disable-next-line es/no-map -- safe
3509
+ var MapPrototype = Map.prototype;
3510
+
3511
+ module.exports = {
3512
+ // eslint-disable-next-line es/no-map -- safe
3513
+ Map: Map,
3514
+ set: uncurryThis(MapPrototype.set),
3515
+ get: uncurryThis(MapPrototype.get),
3516
+ has: uncurryThis(MapPrototype.has),
3517
+ remove: uncurryThis(MapPrototype['delete']),
3518
+ proto: MapPrototype
3519
+ };
3520
+
3521
+
2954
3522
  /***/ }),
2955
3523
 
2956
3524
  /***/ 741:
@@ -3483,6 +4051,31 @@ module.exports = CORRECT_PROTOTYPE_GETTER ? $Object.getPrototypeOf : function (O
3483
4051
  };
3484
4052
 
3485
4053
 
4054
+ /***/ }),
4055
+
4056
+ /***/ 4124:
4057
+ /***/ (function(module, __unused_webpack_exports, __webpack_require__) {
4058
+
4059
+ "use strict";
4060
+
4061
+ var fails = __webpack_require__(9039);
4062
+ var isObject = __webpack_require__(34);
4063
+ var classof = __webpack_require__(2195);
4064
+ var ARRAY_BUFFER_NON_EXTENSIBLE = __webpack_require__(5652);
4065
+
4066
+ // eslint-disable-next-line es/no-object-isextensible -- safe
4067
+ var $isExtensible = Object.isExtensible;
4068
+ var FAILS_ON_PRIMITIVES = fails(function () { $isExtensible(1); });
4069
+
4070
+ // `Object.isExtensible` method
4071
+ // https://tc39.es/ecma262/#sec-object.isextensible
4072
+ module.exports = (FAILS_ON_PRIMITIVES || ARRAY_BUFFER_NON_EXTENSIBLE) ? function isExtensible(it) {
4073
+ if (!isObject(it)) return false;
4074
+ if (ARRAY_BUFFER_NON_EXTENSIBLE && classof(it) === 'ArrayBuffer') return false;
4075
+ return $isExtensible ? $isExtensible(it) : true;
4076
+ } : $isExtensible;
4077
+
4078
+
3486
4079
  /***/ }),
3487
4080
 
3488
4081
  /***/ 1625:
@@ -4298,30 +4891,400 @@ module.exports = function (name) {
4298
4891
 
4299
4892
  /***/ }),
4300
4893
 
4301
- /***/ 7633:
4894
+ /***/ 9286:
4302
4895
  /***/ (function(module, __unused_webpack_exports, __webpack_require__) {
4303
4896
 
4304
4897
  "use strict";
4305
4898
 
4306
- var getBuiltIn = __webpack_require__(7751);
4307
- var defineBuiltInAccessor = __webpack_require__(2106);
4308
- var wellKnownSymbol = __webpack_require__(8227);
4309
- var DESCRIPTORS = __webpack_require__(3724);
4899
+ var SetHelpers = __webpack_require__(4402);
4900
+ var iterate = __webpack_require__(8469);
4310
4901
 
4311
- var SPECIES = wellKnownSymbol('species');
4902
+ var Set = SetHelpers.Set;
4903
+ var add = SetHelpers.add;
4312
4904
 
4313
- module.exports = function (CONSTRUCTOR_NAME) {
4314
- var Constructor = getBuiltIn(CONSTRUCTOR_NAME);
4905
+ module.exports = function (set) {
4906
+ var result = new Set();
4907
+ iterate(set, function (it) {
4908
+ add(result, it);
4909
+ });
4910
+ return result;
4911
+ };
4315
4912
 
4316
- if (DESCRIPTORS && Constructor && !Constructor[SPECIES]) {
4317
- defineBuiltInAccessor(Constructor, SPECIES, {
4318
- configurable: true,
4913
+
4914
+ /***/ }),
4915
+
4916
+ /***/ 3440:
4917
+ /***/ (function(module, __unused_webpack_exports, __webpack_require__) {
4918
+
4919
+ "use strict";
4920
+
4921
+ var aSet = __webpack_require__(7080);
4922
+ var SetHelpers = __webpack_require__(4402);
4923
+ var clone = __webpack_require__(9286);
4924
+ var size = __webpack_require__(5170);
4925
+ var getSetRecord = __webpack_require__(3789);
4926
+ var iterateSet = __webpack_require__(8469);
4927
+ var iterateSimple = __webpack_require__(507);
4928
+
4929
+ var has = SetHelpers.has;
4930
+ var remove = SetHelpers.remove;
4931
+
4932
+ // `Set.prototype.difference` method
4933
+ // https://tc39.es/ecma262/#sec-set.prototype.difference
4934
+ module.exports = function difference(other) {
4935
+ var O = aSet(this);
4936
+ var otherRec = getSetRecord(other);
4937
+ var result = clone(O);
4938
+ if (size(result) <= otherRec.size) iterateSet(result, function (e) {
4939
+ if (otherRec.includes(e)) remove(result, e);
4940
+ });
4941
+ else iterateSimple(otherRec.getIterator(), function (e) {
4942
+ if (has(result, e)) remove(result, e);
4943
+ });
4944
+ return result;
4945
+ };
4946
+
4947
+
4948
+ /***/ }),
4949
+
4950
+ /***/ 4402:
4951
+ /***/ (function(module, __unused_webpack_exports, __webpack_require__) {
4952
+
4953
+ "use strict";
4954
+
4955
+ var uncurryThis = __webpack_require__(9504);
4956
+
4957
+ // eslint-disable-next-line es/no-set -- safe
4958
+ var SetPrototype = Set.prototype;
4959
+
4960
+ module.exports = {
4961
+ // eslint-disable-next-line es/no-set -- safe
4962
+ Set: Set,
4963
+ add: uncurryThis(SetPrototype.add),
4964
+ has: uncurryThis(SetPrototype.has),
4965
+ remove: uncurryThis(SetPrototype['delete']),
4966
+ proto: SetPrototype
4967
+ };
4968
+
4969
+
4970
+ /***/ }),
4971
+
4972
+ /***/ 8750:
4973
+ /***/ (function(module, __unused_webpack_exports, __webpack_require__) {
4974
+
4975
+ "use strict";
4976
+
4977
+ var aSet = __webpack_require__(7080);
4978
+ var SetHelpers = __webpack_require__(4402);
4979
+ var size = __webpack_require__(5170);
4980
+ var getSetRecord = __webpack_require__(3789);
4981
+ var iterateSet = __webpack_require__(8469);
4982
+ var iterateSimple = __webpack_require__(507);
4983
+
4984
+ var Set = SetHelpers.Set;
4985
+ var add = SetHelpers.add;
4986
+ var has = SetHelpers.has;
4987
+
4988
+ // `Set.prototype.intersection` method
4989
+ // https://tc39.es/ecma262/#sec-set.prototype.intersection
4990
+ module.exports = function intersection(other) {
4991
+ var O = aSet(this);
4992
+ var otherRec = getSetRecord(other);
4993
+ var result = new Set();
4994
+
4995
+ if (size(O) > otherRec.size) {
4996
+ iterateSimple(otherRec.getIterator(), function (e) {
4997
+ if (has(O, e)) add(result, e);
4998
+ });
4999
+ } else {
5000
+ iterateSet(O, function (e) {
5001
+ if (otherRec.includes(e)) add(result, e);
5002
+ });
5003
+ }
5004
+
5005
+ return result;
5006
+ };
5007
+
5008
+
5009
+ /***/ }),
5010
+
5011
+ /***/ 4449:
5012
+ /***/ (function(module, __unused_webpack_exports, __webpack_require__) {
5013
+
5014
+ "use strict";
5015
+
5016
+ var aSet = __webpack_require__(7080);
5017
+ var has = (__webpack_require__(4402).has);
5018
+ var size = __webpack_require__(5170);
5019
+ var getSetRecord = __webpack_require__(3789);
5020
+ var iterateSet = __webpack_require__(8469);
5021
+ var iterateSimple = __webpack_require__(507);
5022
+ var iteratorClose = __webpack_require__(9539);
5023
+
5024
+ // `Set.prototype.isDisjointFrom` method
5025
+ // https://tc39.es/ecma262/#sec-set.prototype.isdisjointfrom
5026
+ module.exports = function isDisjointFrom(other) {
5027
+ var O = aSet(this);
5028
+ var otherRec = getSetRecord(other);
5029
+ if (size(O) <= otherRec.size) return iterateSet(O, function (e) {
5030
+ if (otherRec.includes(e)) return false;
5031
+ }, true) !== false;
5032
+ var iterator = otherRec.getIterator();
5033
+ return iterateSimple(iterator, function (e) {
5034
+ if (has(O, e)) return iteratorClose(iterator.iterator, 'normal', false);
5035
+ }) !== false;
5036
+ };
5037
+
5038
+
5039
+ /***/ }),
5040
+
5041
+ /***/ 3838:
5042
+ /***/ (function(module, __unused_webpack_exports, __webpack_require__) {
5043
+
5044
+ "use strict";
5045
+
5046
+ var aSet = __webpack_require__(7080);
5047
+ var size = __webpack_require__(5170);
5048
+ var iterate = __webpack_require__(8469);
5049
+ var getSetRecord = __webpack_require__(3789);
5050
+
5051
+ // `Set.prototype.isSubsetOf` method
5052
+ // https://tc39.es/ecma262/#sec-set.prototype.issubsetof
5053
+ module.exports = function isSubsetOf(other) {
5054
+ var O = aSet(this);
5055
+ var otherRec = getSetRecord(other);
5056
+ if (size(O) > otherRec.size) return false;
5057
+ return iterate(O, function (e) {
5058
+ if (!otherRec.includes(e)) return false;
5059
+ }, true) !== false;
5060
+ };
5061
+
5062
+
5063
+ /***/ }),
5064
+
5065
+ /***/ 8527:
5066
+ /***/ (function(module, __unused_webpack_exports, __webpack_require__) {
5067
+
5068
+ "use strict";
5069
+
5070
+ var aSet = __webpack_require__(7080);
5071
+ var has = (__webpack_require__(4402).has);
5072
+ var size = __webpack_require__(5170);
5073
+ var getSetRecord = __webpack_require__(3789);
5074
+ var iterateSimple = __webpack_require__(507);
5075
+ var iteratorClose = __webpack_require__(9539);
5076
+
5077
+ // `Set.prototype.isSupersetOf` method
5078
+ // https://tc39.es/ecma262/#sec-set.prototype.issupersetof
5079
+ module.exports = function isSupersetOf(other) {
5080
+ var O = aSet(this);
5081
+ var otherRec = getSetRecord(other);
5082
+ if (size(O) < otherRec.size) return false;
5083
+ var iterator = otherRec.getIterator();
5084
+ return iterateSimple(iterator, function (e) {
5085
+ if (!has(O, e)) return iteratorClose(iterator.iterator, 'normal', false);
5086
+ }) !== false;
5087
+ };
5088
+
5089
+
5090
+ /***/ }),
5091
+
5092
+ /***/ 8469:
5093
+ /***/ (function(module, __unused_webpack_exports, __webpack_require__) {
5094
+
5095
+ "use strict";
5096
+
5097
+ var uncurryThis = __webpack_require__(9504);
5098
+ var iterateSimple = __webpack_require__(507);
5099
+ var SetHelpers = __webpack_require__(4402);
5100
+
5101
+ var Set = SetHelpers.Set;
5102
+ var SetPrototype = SetHelpers.proto;
5103
+ var forEach = uncurryThis(SetPrototype.forEach);
5104
+ var keys = uncurryThis(SetPrototype.keys);
5105
+ var next = keys(new Set()).next;
5106
+
5107
+ module.exports = function (set, fn, interruptible) {
5108
+ return interruptible ? iterateSimple({ iterator: keys(set), next: next }, fn) : forEach(set, fn);
5109
+ };
5110
+
5111
+
5112
+ /***/ }),
5113
+
5114
+ /***/ 4916:
5115
+ /***/ (function(module, __unused_webpack_exports, __webpack_require__) {
5116
+
5117
+ "use strict";
5118
+
5119
+ var getBuiltIn = __webpack_require__(7751);
5120
+
5121
+ var createSetLike = function (size) {
5122
+ return {
5123
+ size: size,
5124
+ has: function () {
5125
+ return false;
5126
+ },
5127
+ keys: function () {
5128
+ return {
5129
+ next: function () {
5130
+ return { done: true };
5131
+ }
5132
+ };
5133
+ }
5134
+ };
5135
+ };
5136
+
5137
+ var createSetLikeWithInfinitySize = function (size) {
5138
+ return {
5139
+ size: size,
5140
+ has: function () {
5141
+ return true;
5142
+ },
5143
+ keys: function () {
5144
+ throw new Error('e');
5145
+ }
5146
+ };
5147
+ };
5148
+
5149
+ module.exports = function (name, callback) {
5150
+ var Set = getBuiltIn('Set');
5151
+ try {
5152
+ new Set()[name](createSetLike(0));
5153
+ try {
5154
+ // late spec change, early WebKit ~ Safari 17 implementation does not pass it
5155
+ // https://github.com/tc39/proposal-set-methods/pull/88
5156
+ // also covered engines with
5157
+ // https://bugs.webkit.org/show_bug.cgi?id=272679
5158
+ new Set()[name](createSetLike(-1));
5159
+ return false;
5160
+ } catch (error2) {
5161
+ if (!callback) return true;
5162
+ // early V8 implementation bug
5163
+ // https://issues.chromium.org/issues/351332634
5164
+ try {
5165
+ new Set()[name](createSetLikeWithInfinitySize(-Infinity));
5166
+ return false;
5167
+ } catch (error) {
5168
+ var set = new Set([1, 2]);
5169
+ return callback(set[name](createSetLikeWithInfinitySize(Infinity)));
5170
+ }
5171
+ }
5172
+ } catch (error) {
5173
+ return false;
5174
+ }
5175
+ };
5176
+
5177
+
5178
+ /***/ }),
5179
+
5180
+ /***/ 9835:
5181
+ /***/ (function(module) {
5182
+
5183
+ "use strict";
5184
+
5185
+ // Should get iterator record of a set-like object before cloning this
5186
+ // https://bugs.webkit.org/show_bug.cgi?id=289430
5187
+ module.exports = function (METHOD_NAME) {
5188
+ try {
5189
+ // eslint-disable-next-line es/no-set -- needed for test
5190
+ var baseSet = new Set();
5191
+ var setLike = {
5192
+ size: 0,
5193
+ has: function () { return true; },
5194
+ keys: function () {
5195
+ // eslint-disable-next-line es/no-object-defineproperty -- needed for test
5196
+ return Object.defineProperty({}, 'next', {
5197
+ get: function () {
5198
+ baseSet.clear();
5199
+ baseSet.add(4);
5200
+ return function () {
5201
+ return { done: true };
5202
+ };
5203
+ }
5204
+ });
5205
+ }
5206
+ };
5207
+ var result = baseSet[METHOD_NAME](setLike);
5208
+
5209
+ return result.size === 1 && result.values().next().value === 4;
5210
+ } catch (error) {
5211
+ return false;
5212
+ }
5213
+ };
5214
+
5215
+
5216
+ /***/ }),
5217
+
5218
+ /***/ 5170:
5219
+ /***/ (function(module, __unused_webpack_exports, __webpack_require__) {
5220
+
5221
+ "use strict";
5222
+
5223
+ var uncurryThisAccessor = __webpack_require__(6706);
5224
+ var SetHelpers = __webpack_require__(4402);
5225
+
5226
+ module.exports = uncurryThisAccessor(SetHelpers.proto, 'size', 'get') || function (set) {
5227
+ return set.size;
5228
+ };
5229
+
5230
+
5231
+ /***/ }),
5232
+
5233
+ /***/ 7633:
5234
+ /***/ (function(module, __unused_webpack_exports, __webpack_require__) {
5235
+
5236
+ "use strict";
5237
+
5238
+ var getBuiltIn = __webpack_require__(7751);
5239
+ var defineBuiltInAccessor = __webpack_require__(2106);
5240
+ var wellKnownSymbol = __webpack_require__(8227);
5241
+ var DESCRIPTORS = __webpack_require__(3724);
5242
+
5243
+ var SPECIES = wellKnownSymbol('species');
5244
+
5245
+ module.exports = function (CONSTRUCTOR_NAME) {
5246
+ var Constructor = getBuiltIn(CONSTRUCTOR_NAME);
5247
+
5248
+ if (DESCRIPTORS && Constructor && !Constructor[SPECIES]) {
5249
+ defineBuiltInAccessor(Constructor, SPECIES, {
5250
+ configurable: true,
4319
5251
  get: function () { return this; }
4320
5252
  });
4321
5253
  }
4322
5254
  };
4323
5255
 
4324
5256
 
5257
+ /***/ }),
5258
+
5259
+ /***/ 3650:
5260
+ /***/ (function(module, __unused_webpack_exports, __webpack_require__) {
5261
+
5262
+ "use strict";
5263
+
5264
+ var aSet = __webpack_require__(7080);
5265
+ var SetHelpers = __webpack_require__(4402);
5266
+ var clone = __webpack_require__(9286);
5267
+ var getSetRecord = __webpack_require__(3789);
5268
+ var iterateSimple = __webpack_require__(507);
5269
+
5270
+ var add = SetHelpers.add;
5271
+ var has = SetHelpers.has;
5272
+ var remove = SetHelpers.remove;
5273
+
5274
+ // `Set.prototype.symmetricDifference` method
5275
+ // https://tc39.es/ecma262/#sec-set.prototype.symmetricdifference
5276
+ module.exports = function symmetricDifference(other) {
5277
+ var O = aSet(this);
5278
+ var keysIter = getSetRecord(other).getIterator();
5279
+ var result = clone(O);
5280
+ iterateSimple(keysIter, function (e) {
5281
+ if (has(O, e)) remove(result, e);
5282
+ else add(result, e);
5283
+ });
5284
+ return result;
5285
+ };
5286
+
5287
+
4325
5288
  /***/ }),
4326
5289
 
4327
5290
  /***/ 687:
@@ -4343,6 +5306,32 @@ module.exports = function (target, TAG, STATIC) {
4343
5306
  };
4344
5307
 
4345
5308
 
5309
+ /***/ }),
5310
+
5311
+ /***/ 4204:
5312
+ /***/ (function(module, __unused_webpack_exports, __webpack_require__) {
5313
+
5314
+ "use strict";
5315
+
5316
+ var aSet = __webpack_require__(7080);
5317
+ var add = (__webpack_require__(4402).add);
5318
+ var clone = __webpack_require__(9286);
5319
+ var getSetRecord = __webpack_require__(3789);
5320
+ var iterateSimple = __webpack_require__(507);
5321
+
5322
+ // `Set.prototype.union` method
5323
+ // https://tc39.es/ecma262/#sec-set.prototype.union
5324
+ module.exports = function union(other) {
5325
+ var O = aSet(this);
5326
+ var keysIter = getSetRecord(other).getIterator();
5327
+ var result = clone(O);
5328
+ iterateSimple(keysIter, function (it) {
5329
+ add(result, it);
5330
+ });
5331
+ return result;
5332
+ };
5333
+
5334
+
4346
5335
  /***/ }),
4347
5336
 
4348
5337
  /***/ 6119:
@@ -6297,6 +7286,92 @@ if ($stringify) $({ target: 'JSON', stat: true, arity: 3, forced: WRONG_SYMBOLS_
6297
7286
  });
6298
7287
 
6299
7288
 
7289
+ /***/ }),
7290
+
7291
+ /***/ 8523:
7292
+ /***/ (function(__unused_webpack_module, __unused_webpack_exports, __webpack_require__) {
7293
+
7294
+ "use strict";
7295
+
7296
+ var collection = __webpack_require__(6468);
7297
+ var collectionStrong = __webpack_require__(6938);
7298
+
7299
+ // `Map` constructor
7300
+ // https://tc39.es/ecma262/#sec-map-objects
7301
+ collection('Map', function (init) {
7302
+ return function Map() { return init(this, arguments.length ? arguments[0] : undefined); };
7303
+ }, collectionStrong);
7304
+
7305
+
7306
+ /***/ }),
7307
+
7308
+ /***/ 2731:
7309
+ /***/ (function(__unused_webpack_module, __unused_webpack_exports, __webpack_require__) {
7310
+
7311
+ "use strict";
7312
+
7313
+ var $ = __webpack_require__(6518);
7314
+ var aCallable = __webpack_require__(9306);
7315
+ var MapHelpers = __webpack_require__(2248);
7316
+ var IS_PURE = __webpack_require__(6395);
7317
+
7318
+ var get = MapHelpers.get;
7319
+ var has = MapHelpers.has;
7320
+ var set = MapHelpers.set;
7321
+
7322
+ // `Map.prototype.getOrInsertComputed` method
7323
+ // https://tc39.es/ecma262/#sec-map.prototype.getorinsertcomputed
7324
+ $({ target: 'Map', proto: true, real: true, forced: IS_PURE }, {
7325
+ getOrInsertComputed: function getOrInsertComputed(key, callbackfn) {
7326
+ var hasKey = has(this, key);
7327
+ aCallable(callbackfn);
7328
+ if (hasKey) return get(this, key);
7329
+ // CanonicalizeKeyedCollectionKey
7330
+ if (key === 0 && 1 / key === -Infinity) key = 0;
7331
+ var value = callbackfn(key);
7332
+ set(this, key, value);
7333
+ return value;
7334
+ }
7335
+ });
7336
+
7337
+
7338
+ /***/ }),
7339
+
7340
+ /***/ 5367:
7341
+ /***/ (function(__unused_webpack_module, __unused_webpack_exports, __webpack_require__) {
7342
+
7343
+ "use strict";
7344
+
7345
+ var $ = __webpack_require__(6518);
7346
+ var MapHelpers = __webpack_require__(2248);
7347
+ var IS_PURE = __webpack_require__(6395);
7348
+
7349
+ var get = MapHelpers.get;
7350
+ var has = MapHelpers.has;
7351
+ var set = MapHelpers.set;
7352
+
7353
+ // `Map.prototype.getOrInsert` method
7354
+ // https://tc39.es/ecma262/#sec-map.prototype.getorinsert
7355
+ $({ target: 'Map', proto: true, real: true, forced: IS_PURE }, {
7356
+ getOrInsert: function getOrInsert(key, value) {
7357
+ if (has(this, key)) return get(this, key);
7358
+ set(this, key, value);
7359
+ return value;
7360
+ }
7361
+ });
7362
+
7363
+
7364
+ /***/ }),
7365
+
7366
+ /***/ 6033:
7367
+ /***/ (function(__unused_webpack_module, __unused_webpack_exports, __webpack_require__) {
7368
+
7369
+ "use strict";
7370
+
7371
+ // TODO: Remove this module from `core-js@4` since it's replaced to module below
7372
+ __webpack_require__(8523);
7373
+
7374
+
6300
7375
  /***/ }),
6301
7376
 
6302
7377
  /***/ 2892:
@@ -7372,54 +8447,261 @@ var DELEGATES_TO_EXEC = function () {
7372
8447
 
7373
8448
  var nativeTest = /./.test;
7374
8449
 
7375
- // `RegExp.prototype.test` method
7376
- // https://tc39.es/ecma262/#sec-regexp.prototype.test
7377
- $({ target: 'RegExp', proto: true, forced: !DELEGATES_TO_EXEC }, {
7378
- test: function (S) {
7379
- var R = anObject(this);
7380
- var string = toString(S);
7381
- var exec = R.exec;
7382
- if (!isCallable(exec)) return call(nativeTest, R, string);
7383
- var result = call(exec, R, string);
7384
- if (result === null) return false;
7385
- anObject(result);
7386
- return true;
7387
- }
8450
+ // `RegExp.prototype.test` method
8451
+ // https://tc39.es/ecma262/#sec-regexp.prototype.test
8452
+ $({ target: 'RegExp', proto: true, forced: !DELEGATES_TO_EXEC }, {
8453
+ test: function (S) {
8454
+ var R = anObject(this);
8455
+ var string = toString(S);
8456
+ var exec = R.exec;
8457
+ if (!isCallable(exec)) return call(nativeTest, R, string);
8458
+ var result = call(exec, R, string);
8459
+ if (result === null) return false;
8460
+ anObject(result);
8461
+ return true;
8462
+ }
8463
+ });
8464
+
8465
+
8466
+ /***/ }),
8467
+
8468
+ /***/ 8781:
8469
+ /***/ (function(__unused_webpack_module, __unused_webpack_exports, __webpack_require__) {
8470
+
8471
+ "use strict";
8472
+
8473
+ var PROPER_FUNCTION_NAME = (__webpack_require__(350).PROPER);
8474
+ var defineBuiltIn = __webpack_require__(6840);
8475
+ var anObject = __webpack_require__(8551);
8476
+ var $toString = __webpack_require__(655);
8477
+ var fails = __webpack_require__(9039);
8478
+ var getRegExpFlags = __webpack_require__(1034);
8479
+
8480
+ var TO_STRING = 'toString';
8481
+ var RegExpPrototype = RegExp.prototype;
8482
+ var nativeToString = RegExpPrototype[TO_STRING];
8483
+
8484
+ var NOT_GENERIC = fails(function () { return nativeToString.call({ source: 'a', flags: 'b' }) !== '/a/b'; });
8485
+ // FF44- RegExp#toString has a wrong name
8486
+ var INCORRECT_NAME = PROPER_FUNCTION_NAME && nativeToString.name !== TO_STRING;
8487
+
8488
+ // `RegExp.prototype.toString` method
8489
+ // https://tc39.es/ecma262/#sec-regexp.prototype.tostring
8490
+ if (NOT_GENERIC || INCORRECT_NAME) {
8491
+ defineBuiltIn(RegExpPrototype, TO_STRING, function toString() {
8492
+ var R = anObject(this);
8493
+ var pattern = $toString(R.source);
8494
+ var flags = $toString(getRegExpFlags(R));
8495
+ return '/' + pattern + '/' + flags;
8496
+ }, { unsafe: true });
8497
+ }
8498
+
8499
+
8500
+ /***/ }),
8501
+
8502
+ /***/ 2405:
8503
+ /***/ (function(__unused_webpack_module, __unused_webpack_exports, __webpack_require__) {
8504
+
8505
+ "use strict";
8506
+
8507
+ var collection = __webpack_require__(6468);
8508
+ var collectionStrong = __webpack_require__(6938);
8509
+
8510
+ // `Set` constructor
8511
+ // https://tc39.es/ecma262/#sec-set-objects
8512
+ collection('Set', function (init) {
8513
+ return function Set() { return init(this, arguments.length ? arguments[0] : undefined); };
8514
+ }, collectionStrong);
8515
+
8516
+
8517
+ /***/ }),
8518
+
8519
+ /***/ 7642:
8520
+ /***/ (function(__unused_webpack_module, __unused_webpack_exports, __webpack_require__) {
8521
+
8522
+ "use strict";
8523
+
8524
+ var $ = __webpack_require__(6518);
8525
+ var difference = __webpack_require__(3440);
8526
+ var fails = __webpack_require__(9039);
8527
+ var setMethodAcceptSetLike = __webpack_require__(4916);
8528
+
8529
+ var SET_LIKE_INCORRECT_BEHAVIOR = !setMethodAcceptSetLike('difference', function (result) {
8530
+ return result.size === 0;
8531
+ });
8532
+
8533
+ var FORCED = SET_LIKE_INCORRECT_BEHAVIOR || fails(function () {
8534
+ // https://bugs.webkit.org/show_bug.cgi?id=288595
8535
+ var setLike = {
8536
+ size: 1,
8537
+ has: function () { return true; },
8538
+ keys: function () {
8539
+ var index = 0;
8540
+ return {
8541
+ next: function () {
8542
+ var done = index++ > 1;
8543
+ if (baseSet.has(1)) baseSet.clear();
8544
+ return { done: done, value: 2 };
8545
+ }
8546
+ };
8547
+ }
8548
+ };
8549
+ // eslint-disable-next-line es/no-set -- testing
8550
+ var baseSet = new Set([1, 2, 3, 4]);
8551
+ // eslint-disable-next-line es/no-set-prototype-difference -- testing
8552
+ return baseSet.difference(setLike).size !== 3;
8553
+ });
8554
+
8555
+ // `Set.prototype.difference` method
8556
+ // https://tc39.es/ecma262/#sec-set.prototype.difference
8557
+ $({ target: 'Set', proto: true, real: true, forced: FORCED }, {
8558
+ difference: difference
8559
+ });
8560
+
8561
+
8562
+ /***/ }),
8563
+
8564
+ /***/ 8004:
8565
+ /***/ (function(__unused_webpack_module, __unused_webpack_exports, __webpack_require__) {
8566
+
8567
+ "use strict";
8568
+
8569
+ var $ = __webpack_require__(6518);
8570
+ var fails = __webpack_require__(9039);
8571
+ var intersection = __webpack_require__(8750);
8572
+ var setMethodAcceptSetLike = __webpack_require__(4916);
8573
+
8574
+ var INCORRECT = !setMethodAcceptSetLike('intersection', function (result) {
8575
+ return result.size === 2 && result.has(1) && result.has(2);
8576
+ }) || fails(function () {
8577
+ // eslint-disable-next-line es/no-array-from, es/no-set, es/no-set-prototype-intersection -- testing
8578
+ return String(Array.from(new Set([1, 2, 3]).intersection(new Set([3, 2])))) !== '3,2';
8579
+ });
8580
+
8581
+ // `Set.prototype.intersection` method
8582
+ // https://tc39.es/ecma262/#sec-set.prototype.intersection
8583
+ $({ target: 'Set', proto: true, real: true, forced: INCORRECT }, {
8584
+ intersection: intersection
8585
+ });
8586
+
8587
+
8588
+ /***/ }),
8589
+
8590
+ /***/ 3853:
8591
+ /***/ (function(__unused_webpack_module, __unused_webpack_exports, __webpack_require__) {
8592
+
8593
+ "use strict";
8594
+
8595
+ var $ = __webpack_require__(6518);
8596
+ var isDisjointFrom = __webpack_require__(4449);
8597
+ var setMethodAcceptSetLike = __webpack_require__(4916);
8598
+
8599
+ var INCORRECT = !setMethodAcceptSetLike('isDisjointFrom', function (result) {
8600
+ return !result;
8601
+ });
8602
+
8603
+ // `Set.prototype.isDisjointFrom` method
8604
+ // https://tc39.es/ecma262/#sec-set.prototype.isdisjointfrom
8605
+ $({ target: 'Set', proto: true, real: true, forced: INCORRECT }, {
8606
+ isDisjointFrom: isDisjointFrom
8607
+ });
8608
+
8609
+
8610
+ /***/ }),
8611
+
8612
+ /***/ 5876:
8613
+ /***/ (function(__unused_webpack_module, __unused_webpack_exports, __webpack_require__) {
8614
+
8615
+ "use strict";
8616
+
8617
+ var $ = __webpack_require__(6518);
8618
+ var isSubsetOf = __webpack_require__(3838);
8619
+ var setMethodAcceptSetLike = __webpack_require__(4916);
8620
+
8621
+ var INCORRECT = !setMethodAcceptSetLike('isSubsetOf', function (result) {
8622
+ return result;
8623
+ });
8624
+
8625
+ // `Set.prototype.isSubsetOf` method
8626
+ // https://tc39.es/ecma262/#sec-set.prototype.issubsetof
8627
+ $({ target: 'Set', proto: true, real: true, forced: INCORRECT }, {
8628
+ isSubsetOf: isSubsetOf
8629
+ });
8630
+
8631
+
8632
+ /***/ }),
8633
+
8634
+ /***/ 2475:
8635
+ /***/ (function(__unused_webpack_module, __unused_webpack_exports, __webpack_require__) {
8636
+
8637
+ "use strict";
8638
+
8639
+ var $ = __webpack_require__(6518);
8640
+ var isSupersetOf = __webpack_require__(8527);
8641
+ var setMethodAcceptSetLike = __webpack_require__(4916);
8642
+
8643
+ var INCORRECT = !setMethodAcceptSetLike('isSupersetOf', function (result) {
8644
+ return !result;
8645
+ });
8646
+
8647
+ // `Set.prototype.isSupersetOf` method
8648
+ // https://tc39.es/ecma262/#sec-set.prototype.issupersetof
8649
+ $({ target: 'Set', proto: true, real: true, forced: INCORRECT }, {
8650
+ isSupersetOf: isSupersetOf
8651
+ });
8652
+
8653
+
8654
+ /***/ }),
8655
+
8656
+ /***/ 1415:
8657
+ /***/ (function(__unused_webpack_module, __unused_webpack_exports, __webpack_require__) {
8658
+
8659
+ "use strict";
8660
+
8661
+ // TODO: Remove this module from `core-js@4` since it's replaced to module below
8662
+ __webpack_require__(2405);
8663
+
8664
+
8665
+ /***/ }),
8666
+
8667
+ /***/ 5024:
8668
+ /***/ (function(__unused_webpack_module, __unused_webpack_exports, __webpack_require__) {
8669
+
8670
+ "use strict";
8671
+
8672
+ var $ = __webpack_require__(6518);
8673
+ var symmetricDifference = __webpack_require__(3650);
8674
+ var setMethodGetKeysBeforeCloning = __webpack_require__(9835);
8675
+ var setMethodAcceptSetLike = __webpack_require__(4916);
8676
+
8677
+ var FORCED = !setMethodAcceptSetLike('symmetricDifference') || !setMethodGetKeysBeforeCloning('symmetricDifference');
8678
+
8679
+ // `Set.prototype.symmetricDifference` method
8680
+ // https://tc39.es/ecma262/#sec-set.prototype.symmetricdifference
8681
+ $({ target: 'Set', proto: true, real: true, forced: FORCED }, {
8682
+ symmetricDifference: symmetricDifference
7388
8683
  });
7389
8684
 
7390
8685
 
7391
8686
  /***/ }),
7392
8687
 
7393
- /***/ 8781:
8688
+ /***/ 1698:
7394
8689
  /***/ (function(__unused_webpack_module, __unused_webpack_exports, __webpack_require__) {
7395
8690
 
7396
8691
  "use strict";
7397
8692
 
7398
- var PROPER_FUNCTION_NAME = (__webpack_require__(350).PROPER);
7399
- var defineBuiltIn = __webpack_require__(6840);
7400
- var anObject = __webpack_require__(8551);
7401
- var $toString = __webpack_require__(655);
7402
- var fails = __webpack_require__(9039);
7403
- var getRegExpFlags = __webpack_require__(1034);
7404
-
7405
- var TO_STRING = 'toString';
7406
- var RegExpPrototype = RegExp.prototype;
7407
- var nativeToString = RegExpPrototype[TO_STRING];
8693
+ var $ = __webpack_require__(6518);
8694
+ var union = __webpack_require__(4204);
8695
+ var setMethodGetKeysBeforeCloning = __webpack_require__(9835);
8696
+ var setMethodAcceptSetLike = __webpack_require__(4916);
7408
8697
 
7409
- var NOT_GENERIC = fails(function () { return nativeToString.call({ source: 'a', flags: 'b' }) !== '/a/b'; });
7410
- // FF44- RegExp#toString has a wrong name
7411
- var INCORRECT_NAME = PROPER_FUNCTION_NAME && nativeToString.name !== TO_STRING;
8698
+ var FORCED = !setMethodAcceptSetLike('union') || !setMethodGetKeysBeforeCloning('union');
7412
8699
 
7413
- // `RegExp.prototype.toString` method
7414
- // https://tc39.es/ecma262/#sec-regexp.prototype.tostring
7415
- if (NOT_GENERIC || INCORRECT_NAME) {
7416
- defineBuiltIn(RegExpPrototype, TO_STRING, function toString() {
7417
- var R = anObject(this);
7418
- var pattern = $toString(R.source);
7419
- var flags = $toString(getRegExpFlags(R));
7420
- return '/' + pattern + '/' + flags;
7421
- }, { unsafe: true });
7422
- }
8700
+ // `Set.prototype.union` method
8701
+ // https://tc39.es/ecma262/#sec-set.prototype.union
8702
+ $({ target: 'Set', proto: true, real: true, forced: FORCED }, {
8703
+ union: union
8704
+ });
7423
8705
 
7424
8706
 
7425
8707
  /***/ }),
@@ -8564,6 +9846,13 @@ setConfig({
8564
9846
  taskBarSubviewConfig: {
8565
9847
  // showOverview: false
8566
9848
  },
9849
+ taskBarMoveConfig: {
9850
+ isLimitByLink: true
9851
+ },
9852
+ taskBarResizeConfig: {
9853
+ minWidthSize: 0.5,
9854
+ isLimitByLink: true
9855
+ },
8567
9856
  taskBarMoveTooltipConfig: {
8568
9857
  enterable: true,
8569
9858
  enterDelay: 0
@@ -8860,6 +10149,12 @@ var es_array_sort = __webpack_require__(6910);
8860
10149
  var es_iterator_find = __webpack_require__(116);
8861
10150
  // EXTERNAL MODULE: ./node_modules/core-js/modules/es.iterator.map.js
8862
10151
  var es_iterator_map = __webpack_require__(1701);
10152
+ // EXTERNAL MODULE: ./node_modules/core-js/modules/es.map.js
10153
+ var es_map = __webpack_require__(6033);
10154
+ // EXTERNAL MODULE: ./node_modules/core-js/modules/es.map.get-or-insert.js
10155
+ var es_map_get_or_insert = __webpack_require__(5367);
10156
+ // EXTERNAL MODULE: ./node_modules/core-js/modules/es.map.get-or-insert-computed.js
10157
+ var es_map_get_or_insert_computed = __webpack_require__(2731);
8863
10158
  // EXTERNAL MODULE: ./node_modules/core-js/modules/es.promise.js
8864
10159
  var es_promise = __webpack_require__(3362);
8865
10160
  ;// ./packages/ui/src/comp.ts
@@ -9340,8 +10635,120 @@ function hasSubviewTask(type) {
9340
10635
  function getTaskType(type) {
9341
10636
  return taskTypeMaps[type] ? type : 'default';
9342
10637
  }
10638
+ ;// ./node_modules/@babel/runtime/helpers/esm/createForOfIteratorHelper.js
10639
+
10640
+
10641
+
10642
+
10643
+
10644
+
10645
+
10646
+
10647
+
10648
+ function _createForOfIteratorHelper(r, e) {
10649
+ var t = "undefined" != typeof Symbol && r[Symbol.iterator] || r["@@iterator"];
10650
+ if (!t) {
10651
+ if (Array.isArray(r) || (t = _unsupportedIterableToArray(r)) || e && r && "number" == typeof r.length) {
10652
+ t && (r = t);
10653
+ var _n = 0,
10654
+ F = function F() {};
10655
+ return {
10656
+ s: F,
10657
+ n: function n() {
10658
+ return _n >= r.length ? {
10659
+ done: !0
10660
+ } : {
10661
+ done: !1,
10662
+ value: r[_n++]
10663
+ };
10664
+ },
10665
+ e: function e(r) {
10666
+ throw r;
10667
+ },
10668
+ f: F
10669
+ };
10670
+ }
10671
+ throw new TypeError("Invalid attempt to iterate non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.");
10672
+ }
10673
+ var o,
10674
+ a = !0,
10675
+ u = !1;
10676
+ return {
10677
+ s: function s() {
10678
+ t = t.call(r);
10679
+ },
10680
+ n: function n() {
10681
+ var r = t.next();
10682
+ return a = r.done, r;
10683
+ },
10684
+ e: function e(r) {
10685
+ u = !0, o = r;
10686
+ },
10687
+ f: function f() {
10688
+ try {
10689
+ a || null == t["return"] || t["return"]();
10690
+ } finally {
10691
+ if (u) throw o;
10692
+ }
10693
+ }
10694
+ };
10695
+ }
10696
+
10697
+ // EXTERNAL MODULE: ./node_modules/core-js/modules/es.set.js
10698
+ var es_set = __webpack_require__(1415);
10699
+ // EXTERNAL MODULE: ./node_modules/core-js/modules/es.set.difference.v2.js
10700
+ var es_set_difference_v2 = __webpack_require__(7642);
10701
+ // EXTERNAL MODULE: ./node_modules/core-js/modules/es.set.intersection.v2.js
10702
+ var es_set_intersection_v2 = __webpack_require__(8004);
10703
+ // EXTERNAL MODULE: ./node_modules/core-js/modules/es.set.is-disjoint-from.v2.js
10704
+ var es_set_is_disjoint_from_v2 = __webpack_require__(3853);
10705
+ // EXTERNAL MODULE: ./node_modules/core-js/modules/es.set.is-subset-of.v2.js
10706
+ var es_set_is_subset_of_v2 = __webpack_require__(5876);
10707
+ // EXTERNAL MODULE: ./node_modules/core-js/modules/es.set.is-superset-of.v2.js
10708
+ var es_set_is_superset_of_v2 = __webpack_require__(2475);
10709
+ // EXTERNAL MODULE: ./node_modules/core-js/modules/es.set.symmetric-difference.v2.js
10710
+ var es_set_symmetric_difference_v2 = __webpack_require__(5024);
10711
+ // EXTERNAL MODULE: ./node_modules/core-js/modules/es.set.union.v2.js
10712
+ var es_set_union_v2 = __webpack_require__(1698);
9343
10713
  // EXTERNAL MODULE: ./node_modules/core-js/modules/es.string.pad-start.js
9344
10714
  var es_string_pad_start = __webpack_require__(8156);
10715
+ ;// ./packages/gantt/src/static.ts
10716
+ /**
10717
+ * 依赖线枚举类型
10718
+ */
10719
+ var VxeGanttDependencyType;
10720
+ (function (VxeGanttDependencyType) {
10721
+ /**
10722
+ * 结束后才开始,表示一个任务必须在另一个任务开始之前完成
10723
+ */
10724
+ VxeGanttDependencyType[VxeGanttDependencyType["FinishToStart"] = 0] = "FinishToStart";
10725
+ /**
10726
+ * 开始到结束,表示从某个过程的开始到结束的整个过程
10727
+ */
10728
+ VxeGanttDependencyType[VxeGanttDependencyType["StartToFinish"] = 1] = "StartToFinish";
10729
+ /**
10730
+ * 开始后才开始,表示一个活动结束了,另一个活动才能开始,它们之间按先后顺序进行
10731
+ */
10732
+ VxeGanttDependencyType[VxeGanttDependencyType["StartToStart"] = 2] = "StartToStart";
10733
+ /**
10734
+ * 完成到完成,表示一个任务必须在另一个任务完成之后才能完成
10735
+ */
10736
+ VxeGanttDependencyType[VxeGanttDependencyType["FinishToFinish"] = 3] = "FinishToFinish";
10737
+ })(VxeGanttDependencyType || (VxeGanttDependencyType = {}));
10738
+ /**
10739
+ * 任务渲染类型
10740
+ */
10741
+ var VxeGanttTaskType;
10742
+ (function (VxeGanttTaskType) {
10743
+ /**
10744
+ * 里程碑类型,该类型节点不需要结束日期
10745
+ */
10746
+ VxeGanttTaskType["Milestone"] = "milestone";
10747
+ /**
10748
+ * 子视图类型,该类型会将子任务渲染到一行,无需开始日期和结束日期
10749
+ */
10750
+ VxeGanttTaskType["Subview"] = "subview";
10751
+ })(VxeGanttTaskType || (VxeGanttTaskType = {}));
9345
10752
  ;// ./packages/gantt/src/gantt-header.ts
9346
10753
 
9347
10754
 
@@ -9619,7 +11026,9 @@ var gantt_chart_viewType = 'chart';
9619
11026
  taskBarMilestoneConfig = ganttProps.taskBarMilestoneConfig,
9620
11027
  taskBarSubviewConfig = ganttProps.taskBarSubviewConfig;
9621
11028
  var activeLink = ganttReactData.activeLink,
9622
- activeBarRowid = ganttReactData.activeBarRowid;
11029
+ activeBarRowid = ganttReactData.activeBarRowid,
11030
+ criticalPathFlag = ganttReactData.criticalPathFlag;
11031
+ var criticalRowMaps = ganttInternalData.criticalRowMaps;
9623
11032
  var titleField = $xeGantt.computeTitleField;
9624
11033
  var progressField = $xeGantt.computeProgressField;
9625
11034
  var typeField = $xeGantt.computeTypeField;
@@ -9640,6 +11049,7 @@ var gantt_chart_viewType = 'chart';
9640
11049
  _rowIndex: _rowIndex
9641
11050
  };
9642
11051
  var showProgress = taskBarOpts.showProgress,
11052
+ showCriticalPath = taskBarOpts.showCriticalPath,
9643
11053
  showContent = taskBarOpts.showContent,
9644
11054
  contentMethod = taskBarOpts.contentMethod,
9645
11055
  barStyle = taskBarOpts.barStyle,
@@ -9807,6 +11217,7 @@ var gantt_chart_viewType = 'chart';
9807
11217
  },
9808
11218
  class: ['vxe-gantt-view--chart-subview-row', "is--".concat(childRenderTaskType), {
9809
11219
  'is--progress': showProgress,
11220
+ 'is--critical': showCriticalPath && criticalPathFlag && criticalRowMaps.has(childRowid),
9810
11221
  'is--round': childRound,
9811
11222
  'is--move': moveable,
9812
11223
  'row--pending': !!pendingRowFlag && !!pendingRowMaps[childRowid]
@@ -9902,6 +11313,7 @@ var gantt_chart_viewType = 'chart';
9902
11313
  },
9903
11314
  class: ['vxe-gantt-view--chart-row', "is--".concat(renderTaskType), {
9904
11315
  'is--progress': showProgress,
11316
+ 'is--critical': showCriticalPath && criticalPathFlag && criticalRowMaps.has(rowid),
9905
11317
  'row--pending': !!pendingRowFlag && !!pendingRowMaps[rowid],
9906
11318
  'is--round': barRound,
9907
11319
  'is--move': moveable
@@ -10471,6 +11883,19 @@ var gantt_footer_viewType = 'footer';
10471
11883
 
10472
11884
 
10473
11885
 
11886
+
11887
+
11888
+
11889
+
11890
+
11891
+
11892
+
11893
+
11894
+
11895
+
11896
+
11897
+
11898
+
10474
11899
 
10475
11900
 
10476
11901
 
@@ -10480,11 +11905,18 @@ var gantt_footer_viewType = 'footer';
10480
11905
 
10481
11906
 
10482
11907
  var globalEvents = core_.VxeUI.globalEvents;
11908
+ var FinishToStart = VxeGanttDependencyType.FinishToStart,
11909
+ StartToFinish = VxeGanttDependencyType.StartToFinish,
11910
+ StartToStart = VxeGanttDependencyType.StartToStart,
11911
+ FinishToFinish = VxeGanttDependencyType.FinishToFinish;
10483
11912
  var gantt_view_sourceType = 'gantt';
10484
11913
  var secondMs = 1000;
10485
11914
  var minuteMs = 1000 * 60;
10486
11915
  var hourMs = 1000 * 60 * 60;
10487
11916
  var dayMs = hourMs * 24;
11917
+ function getTaskLinkKey(from, to, type) {
11918
+ return from + '_' + to + '_' + (type || 0);
11919
+ }
10488
11920
  function createInternalData() {
10489
11921
  return {
10490
11922
  xeTable: null,
@@ -11343,6 +12775,8 @@ function handleUpdateData($xeGanttView) {
11343
12775
  var reactData = $xeGanttView.reactData;
11344
12776
  var internalData = $xeGanttView.internalData;
11345
12777
  var ganttProps = $xeGantt;
12778
+ var ganttReactData = $xeGantt.reactData;
12779
+ var linkList = ganttReactData.linkList;
11346
12780
  var treeConfig = ganttProps.treeConfig;
11347
12781
  var scrollXStore = internalData.scrollXStore;
11348
12782
  var $xeTable = internalData.xeTable;
@@ -11350,6 +12784,7 @@ function handleUpdateData($xeGanttView) {
11350
12784
  var edMaps = {};
11351
12785
  var minDate = null;
11352
12786
  var maxDate = null;
12787
+ var allList = [];
11353
12788
  if ($xeTable) {
11354
12789
  var startField = $xeGantt.computeStartField;
11355
12790
  var endField = $xeGantt.computeEndField;
@@ -11387,6 +12822,7 @@ function handleUpdateData($xeGanttView) {
11387
12822
  maxDate = endDate;
11388
12823
  }
11389
12824
  }
12825
+ allList.push(row);
11390
12826
  };
11391
12827
  if (isRowGroupStatus) {
11392
12828
  // 行分组
@@ -11412,6 +12848,270 @@ function handleUpdateData($xeGanttView) {
11412
12848
  internalData.startMaps = sdMaps;
11413
12849
  internalData.endMaps = edMaps;
11414
12850
  handleParseColumn($xeGanttView);
12851
+ handleCriticalPath($xeGanttView, allList, linkList);
12852
+ }
12853
+ /**
12854
+ * 正向:后置 ES 的下连接线
12855
+ */
12856
+ function forwardCriticalPathLowerBound(linkType, predES, predEF, duration) {
12857
+ switch (linkType) {
12858
+ case FinishToStart:
12859
+ return predEF;
12860
+ case StartToFinish:
12861
+ return predES - duration;
12862
+ case StartToStart:
12863
+ return predES;
12864
+ case FinishToFinish:
12865
+ return predEF - duration;
12866
+ default:
12867
+ return 0;
12868
+ }
12869
+ }
12870
+ /**
12871
+ * 反向:前置 LF 的上连接线
12872
+ */
12873
+ function backwardCriticalPathUpperBound(linkType, succLS, succLF, duration) {
12874
+ switch (linkType) {
12875
+ case FinishToStart:
12876
+ return succLS;
12877
+ case StartToFinish:
12878
+ return succLF + duration;
12879
+ case StartToStart:
12880
+ return succLS + duration;
12881
+ case FinishToFinish:
12882
+ return succLF;
12883
+ default:
12884
+ return -1;
12885
+ }
12886
+ }
12887
+ /**
12888
+ * 关键边:两端都关键时,约束是否连接
12889
+ */
12890
+ function isCriticalPathLinkTight(linkType, fromES, fromEF, toES, toEF, tolerance) {
12891
+ switch (linkType) {
12892
+ case FinishToStart:
12893
+ return Math.abs(fromEF - toES) < tolerance;
12894
+ case StartToFinish:
12895
+ return Math.abs(fromES - toEF) < tolerance;
12896
+ case StartToStart:
12897
+ return Math.abs(fromES - toES) < tolerance;
12898
+ case FinishToFinish:
12899
+ return Math.abs(fromEF - toEF) < tolerance;
12900
+ default:
12901
+ return false;
12902
+ }
12903
+ }
12904
+ function handleCriticalPath($xeGanttView, data, links) {
12905
+ var $xeGantt = $xeGanttView.$xeGantt;
12906
+ var internalData = $xeGanttView.internalData;
12907
+ var ganttReactData = $xeGantt.reactData;
12908
+ var ganttInternalData = $xeGantt.internalData;
12909
+ var taskBarOpts = $xeGantt.computeTaskBarOpts;
12910
+ var $xeTable = internalData.xeTable;
12911
+ var criticalRowList = [];
12912
+ var criticalRowMaps = new Map();
12913
+ var criticalLinkKeyMaps = new Map();
12914
+ ganttInternalData.criticalRowList = criticalRowList;
12915
+ ganttInternalData.criticalRowMaps = criticalRowMaps;
12916
+ ganttInternalData.criticalLinkKeyMaps = criticalLinkKeyMaps;
12917
+ if (!taskBarOpts.showCriticalPath || !links.length || !data.length || !$xeTable) {
12918
+ if (ganttReactData.criticalRowIds.length || ganttReactData.criticalLinks.length) {
12919
+ ganttReactData.criticalPathFlag++;
12920
+ }
12921
+ ganttReactData.criticalLinks = [];
12922
+ ganttReactData.criticalRowIds = [];
12923
+ return;
12924
+ }
12925
+ var chartMaps = internalData.chartMaps;
12926
+ var tolerance = 1e-6;
12927
+ var nodeMap = new Map();
12928
+ var _iterator = _createForOfIteratorHelper(data),
12929
+ _step;
12930
+ try {
12931
+ for (_iterator.s(); !(_step = _iterator.n()).done;) {
12932
+ var row = _step.value;
12933
+ var rowid = $xeTable.getRowid(row);
12934
+ var chartRest = chartMaps[rowid];
12935
+ nodeMap.set(rowid, {
12936
+ row: row,
12937
+ rowid: rowid,
12938
+ duration: chartRest ? chartRest.oWidthSize : 0,
12939
+ incoming: [],
12940
+ outgoing: [],
12941
+ indeg: 0,
12942
+ ES: 0,
12943
+ EF: 0,
12944
+ LS: 0,
12945
+ LF: 0
12946
+ });
12947
+ }
12948
+ // 边界
12949
+ } catch (err) {
12950
+ _iterator.e(err);
12951
+ } finally {
12952
+ _iterator.f();
12953
+ }
12954
+ var linkList = [];
12955
+ var _iterator2 = _createForOfIteratorHelper(links),
12956
+ _step2;
12957
+ try {
12958
+ for (_iterator2.s(); !(_step2 = _iterator2.n()).done;) {
12959
+ var link = _step2.value;
12960
+ var fromKey = '' + link.from;
12961
+ var toKey = '' + link.to;
12962
+ if (!nodeMap.has(fromKey) || !nodeMap.has(toKey) || fromKey === toKey) {
12963
+ continue;
12964
+ }
12965
+ var _lkItemitem = {
12966
+ from: link.from,
12967
+ to: link.to,
12968
+ type: external_root_XEUtils_commonjs_xe_utils_commonjs2_xe_utils_amd_xe_utils_default().toNumber(link.type) || 0,
12969
+ raw: link
12970
+ };
12971
+ linkList.push(_lkItemitem);
12972
+ var _toObjItem3 = nodeMap.get('' + link.to);
12973
+ var _fromObjItem2 = nodeMap.get('' + link.from);
12974
+ if (_fromObjItem2) {
12975
+ _fromObjItem2.outgoing.push(_lkItemitem);
12976
+ }
12977
+ if (_toObjItem3) {
12978
+ _toObjItem3.incoming.push(_lkItemitem);
12979
+ _toObjItem3.indeg++;
12980
+ }
12981
+ }
12982
+ // 拓扑排序 + 环检测
12983
+ } catch (err) {
12984
+ _iterator2.e(err);
12985
+ } finally {
12986
+ _iterator2.f();
12987
+ }
12988
+ var queueList = [];
12989
+ nodeMap.forEach(function (nodeitem) {
12990
+ if (nodeitem.indeg === 0) {
12991
+ queueList.push(nodeitem);
12992
+ }
12993
+ });
12994
+ var orderList = [];
12995
+ for (var head = 0; head < queueList.length; head++) {
12996
+ var node = queueList[head];
12997
+ orderList.push(node);
12998
+ var _iterator3 = _createForOfIteratorHelper(node.outgoing),
12999
+ _step3;
13000
+ try {
13001
+ for (_iterator3.s(); !(_step3 = _iterator3.n()).done;) {
13002
+ var lkItemitem = _step3.value;
13003
+ var toObjItem = nodeMap.get('' + lkItemitem.to);
13004
+ if (toObjItem) {
13005
+ var nextDeg = toObjItem.indeg - 1;
13006
+ toObjItem.indeg = nextDeg;
13007
+ if (nextDeg === 0) {
13008
+ queueList.push(nodeMap.get('' + lkItemitem.to));
13009
+ }
13010
+ }
13011
+ }
13012
+ } catch (err) {
13013
+ _iterator3.e(err);
13014
+ } finally {
13015
+ _iterator3.f();
13016
+ }
13017
+ }
13018
+ if (orderList.length !== nodeMap.size) {
13019
+ // 异常数据,依赖图中存在环
13020
+ if (ganttReactData.criticalRowIds.length || ganttReactData.criticalLinks.length) {
13021
+ ganttReactData.criticalPathFlag++;
13022
+ }
13023
+ ganttReactData.criticalLinks = [];
13024
+ ganttReactData.criticalRowIds = [];
13025
+ return;
13026
+ }
13027
+ // 正向:ES / EF
13028
+ var criticalDuration = 0;
13029
+ for (var _i = 0, _orderList = orderList; _i < _orderList.length; _i++) {
13030
+ var _node = _orderList[_i];
13031
+ var earliestStart = 0;
13032
+ var _iterator4 = _createForOfIteratorHelper(_node.incoming),
13033
+ _step4;
13034
+ try {
13035
+ for (_iterator4.s(); !(_step4 = _iterator4.n()).done;) {
13036
+ var lkItem = _step4.value;
13037
+ var fromObjItem = nodeMap.get('' + lkItem.from);
13038
+ if (fromObjItem) {
13039
+ var need = forwardCriticalPathLowerBound(lkItem.type, fromObjItem.ES, fromObjItem.EF, _node.duration);
13040
+ if (need > earliestStart) {
13041
+ earliestStart = need;
13042
+ }
13043
+ }
13044
+ }
13045
+ } catch (err) {
13046
+ _iterator4.e(err);
13047
+ } finally {
13048
+ _iterator4.f();
13049
+ }
13050
+ _node.ES = earliestStart;
13051
+ _node.EF = earliestStart + _node.duration;
13052
+ if (_node.EF > criticalDuration) {
13053
+ criticalDuration = _node.EF;
13054
+ }
13055
+ }
13056
+ // 反向:LS / LF
13057
+ for (var i = orderList.length - 1; i >= 0; i--) {
13058
+ var _node2 = orderList[i];
13059
+ var latestFinish = criticalDuration;
13060
+ var _iterator5 = _createForOfIteratorHelper(_node2.outgoing),
13061
+ _step5;
13062
+ try {
13063
+ for (_iterator5.s(); !(_step5 = _iterator5.n()).done;) {
13064
+ var _lkItem = _step5.value;
13065
+ var _toObjItem = nodeMap.get('' + _lkItem.to);
13066
+ if (_toObjItem) {
13067
+ var _need = backwardCriticalPathUpperBound(_lkItem.type, _toObjItem.LS, _toObjItem.LF, _node2.duration);
13068
+ if (_need < latestFinish) {
13069
+ latestFinish = _need;
13070
+ }
13071
+ }
13072
+ }
13073
+ } catch (err) {
13074
+ _iterator5.e(err);
13075
+ } finally {
13076
+ _iterator5.f();
13077
+ }
13078
+ _node2.LF = latestFinish;
13079
+ _node2.LS = latestFinish - _node2.duration;
13080
+ }
13081
+ // 关键任务
13082
+ var criticalSet = new Set();
13083
+ var criticalRowIds = [];
13084
+ for (var _i2 = 0, _orderList2 = orderList; _i2 < _orderList2.length; _i2++) {
13085
+ var nodeItem = _orderList2[_i2];
13086
+ if (Math.abs(nodeItem.LS - nodeItem.ES) < tolerance) {
13087
+ criticalSet.add(nodeItem.rowid);
13088
+ criticalRowIds.push(nodeItem.rowid);
13089
+ criticalRowList.push(nodeItem.row);
13090
+ criticalRowMaps.set(nodeItem.rowid, nodeItem.row);
13091
+ }
13092
+ }
13093
+ // 关键连接线
13094
+ var criticalLinks = [];
13095
+ for (var _i3 = 0, _linkList = linkList; _i3 < _linkList.length; _i3++) {
13096
+ var _lkItem2 = _linkList[_i3];
13097
+ var _toObjItem2 = nodeMap.get('' + _lkItem2.to);
13098
+ var _fromObjItem = nodeMap.get('' + _lkItem2.from);
13099
+ if (!_toObjItem2 || !_fromObjItem) {
13100
+ continue;
13101
+ }
13102
+ // 两端必须都是关键任务
13103
+ if (!criticalSet.has(_fromObjItem.rowid) || !criticalSet.has(_toObjItem2.rowid)) {
13104
+ continue;
13105
+ }
13106
+ // 约束必须是连接的
13107
+ if (isCriticalPathLinkTight(_lkItem2.type, _fromObjItem.ES, _fromObjItem.EF, _toObjItem2.ES, _toObjItem2.EF, tolerance)) {
13108
+ criticalLinks.push(_lkItem2.raw);
13109
+ criticalLinkKeyMaps.set(getTaskLinkKey(_lkItem2.from, _lkItem2.to, _lkItem2.type), _lkItem2.raw);
13110
+ }
13111
+ }
13112
+ ganttReactData.criticalLinks = criticalLinks;
13113
+ ganttReactData.criticalRowIds = criticalRowIds;
13114
+ ganttReactData.criticalPathFlag++;
11415
13115
  }
11416
13116
  function calcScrollbar($xeGanttView) {
11417
13117
  var $xeGantt = $xeGanttView.$xeGantt;
@@ -12656,6 +14356,10 @@ var external_root_VxeUITable_commonjs_vxe_table_commonjs2_vxe_table_amd_vxe_tabl
12656
14356
 
12657
14357
 
12658
14358
 
14359
+
14360
+
14361
+
14362
+
12659
14363
 
12660
14364
 
12661
14365
 
@@ -12738,7 +14442,11 @@ function gantt_createInternalData() {
12738
14442
  dragLinkToStore: {
12739
14443
  rowid: null,
12740
14444
  type: 0
12741
- }
14445
+ },
14446
+ // 关键路径
14447
+ criticalRowList: [],
14448
+ criticalRowMaps: new Map(),
14449
+ criticalLinkKeyMaps: new Map()
12742
14450
  };
12743
14451
  }
12744
14452
  function gantt_createReactData() {
@@ -12788,7 +14496,11 @@ function gantt_createReactData() {
12788
14496
  showSplitAnimat: false,
12789
14497
  nowTime: 0,
12790
14498
  currLeftSpacing: 0,
12791
- currRightSpacing: 0
14499
+ currRightSpacing: 0,
14500
+ // 关键路径
14501
+ criticalLinks: [],
14502
+ criticalRowIds: [],
14503
+ criticalPathFlag: 0
12792
14504
  };
12793
14505
  }
12794
14506
  /* harmony default export */ var gantt = (/* define-vxe-component start */defineVxeComponent({
@@ -12810,6 +14522,7 @@ function gantt_createReactData() {
12810
14522
  taskLinkConfig: Object,
12811
14523
  taskBarConfig: Object,
12812
14524
  taskBarMilestoneConfig: Object,
14525
+ taskCriticalPathConfig: Object,
12813
14526
  taskBarSubviewConfig: Object,
12814
14527
  taskBarTooltipConfig: Object,
12815
14528
  taskSplitConfig: Object,
@@ -12839,7 +14552,8 @@ function gantt_createReactData() {
12839
14552
  return {
12840
14553
  xID: xID,
12841
14554
  reactData: reactData,
12842
- internalData: internalData
14555
+ internalData: internalData,
14556
+ reViewFlag: 0
12843
14557
  };
12844
14558
  },
12845
14559
  computed: _objectSpread2(_objectSpread2({}, {}), {}, {
@@ -12933,6 +14647,11 @@ function gantt_createReactData() {
12933
14647
  var props = $xeGantt;
12934
14648
  return Object.assign({}, gantt_getConfig().gantt.taskBarMilestoneConfig, props.taskBarMilestoneConfig);
12935
14649
  },
14650
+ computeTaskCriticalPathOpts: function computeTaskCriticalPathOpts() {
14651
+ var $xeGantt = this;
14652
+ var props = $xeGantt;
14653
+ return Object.assign({}, gantt_getConfig().gantt.taskCriticalPathConfig, props.taskCriticalPathConfig);
14654
+ },
12936
14655
  computeTaskBarSubviewOpts: function computeTaskBarSubviewOpts() {
12937
14656
  var $xeGantt = this;
12938
14657
  var props = $xeGantt;
@@ -13041,6 +14760,11 @@ function gantt_createReactData() {
13041
14760
  var scrollbarOpts = $xeGantt.computeScrollbarOpts;
13042
14761
  return !!(scrollbarOpts.y && scrollbarOpts.y.position === 'left');
13043
14762
  },
14763
+ computeCriticalPathVisible: function computeCriticalPathVisible() {
14764
+ var $xeGantt = this;
14765
+ var taskBarOpts = $xeGantt.computeTaskBarOpts;
14766
+ return taskBarOpts.showCriticalPath;
14767
+ },
13044
14768
  computeWrapperStyle: function computeWrapperStyle() {
13045
14769
  var $xeGantt = this;
13046
14770
  var props = $xeGantt;
@@ -13057,6 +14781,8 @@ function gantt_createReactData() {
13057
14781
  tableStyle = taskViewOpts.tableStyle;
13058
14782
  var taskBarOpts = $xeGantt.computeTaskBarOpts;
13059
14783
  var barStyle = taskBarOpts.barStyle;
14784
+ var taskCriticalPathOpts = $xeGantt.computeTaskCriticalPathOpts;
14785
+ var cpLineColor = taskCriticalPathOpts.lineColor;
13060
14786
  var taskBarSubviewOpts = $xeGantt.computeTaskBarSubviewOpts;
13061
14787
  var taskNowLineOpts = $xeGantt.computeTaskNowLineOpts;
13062
14788
  var nlfColor = taskNowLineOpts.fontColor,
@@ -13065,6 +14791,9 @@ function gantt_createReactData() {
13065
14791
  var stys = {
13066
14792
  '--vxe-ui-gantt-scrollbar-width': (overflowY && scrollbarWidth ? scrollbarWidth : 0) + 'px'
13067
14793
  };
14794
+ if (cpLineColor) {
14795
+ stys['--vxe-ui-gantt-view-bar-critical-path-line-color'] = cpLineColor;
14796
+ }
13068
14797
  if (isZMax) {
13069
14798
  stys.zIndex = tZindex;
13070
14799
  } else {
@@ -13296,6 +15025,14 @@ function gantt_createReactData() {
13296
15025
  computeTaskViewScales: function computeTaskViewScales() {
13297
15026
  var $xeGantt = this;
13298
15027
  $xeGantt.handleTaskScaleConfig();
15028
+ $xeGantt.reViewFlag++;
15029
+ },
15030
+ computeCriticalPathVisible: function computeCriticalPathVisible() {
15031
+ var $xeGantt = this;
15032
+ $xeGantt.reViewFlag++;
15033
+ },
15034
+ reViewFlag: function reViewFlag() {
15035
+ var $xeGantt = this;
13299
15036
  $xeGantt.refreshTaskView();
13300
15037
  },
13301
15038
  computeTaskLinkStyle: function computeTaskLinkStyle() {
@@ -14793,6 +16530,19 @@ function gantt_createReactData() {
14793
16530
  }
14794
16531
  return $xeGantt.$nextTick();
14795
16532
  },
16533
+ getCriticalPath: function getCriticalPath() {
16534
+ var $xeGantt = this;
16535
+ var reactData = $xeGantt.reactData;
16536
+ var internalData = $xeGantt.internalData;
16537
+ var criticalRowIds = reactData.criticalRowIds,
16538
+ criticalLinks = reactData.criticalLinks;
16539
+ var criticalRowMaps = internalData.criticalRowMaps;
16540
+ return {
16541
+ rowIds: criticalRowIds.slice(0),
16542
+ rows: Array.from(criticalRowMaps.values()),
16543
+ links: criticalLinks.slice(0)
16544
+ };
16545
+ },
14796
16546
  /**
14797
16547
  * 获取需要排除的高度
14798
16548
  */
@@ -15198,7 +16948,7 @@ function gantt_createReactData() {
15198
16948
  // 处理插槽
15199
16949
  formOpts.items.forEach(function (item) {
15200
16950
  external_root_XEUtils_commonjs_xe_utils_commonjs2_xe_utils_amd_xe_utils_default().each(item.slots, function (func) {
15201
- if (!external_root_XEUtils_commonjs_xe_utils_commonjs2_xe_utils_amd_xe_utils_default().isFunction(func)) {
16951
+ if (func && !external_root_XEUtils_commonjs_xe_utils_commonjs2_xe_utils_amd_xe_utils_default().isFunction(func)) {
15202
16952
  if (slots[func]) {
15203
16953
  formSlots[func] = slots[func];
15204
16954
  }
@@ -15665,43 +17415,6 @@ function gantt_createReactData() {
15665
17415
  return this.renderVN(h);
15666
17416
  }
15667
17417
  })); /* define-vxe-component end */
15668
- ;// ./packages/gantt/src/static.ts
15669
- /**
15670
- * 依赖线枚举类型
15671
- */
15672
- var VxeGanttDependencyType;
15673
- (function (VxeGanttDependencyType) {
15674
- /**
15675
- * 结束后才开始,表示一个任务必须在另一个任务开始之前完成
15676
- */
15677
- VxeGanttDependencyType[VxeGanttDependencyType["FinishToStart"] = 0] = "FinishToStart";
15678
- /**
15679
- * 开始到结束,表示从某个过程的开始到结束的整个过程
15680
- */
15681
- VxeGanttDependencyType[VxeGanttDependencyType["StartToFinish"] = 1] = "StartToFinish";
15682
- /**
15683
- * 开始后才开始,表示一个活动结束了,另一个活动才能开始,它们之间按先后顺序进行
15684
- */
15685
- VxeGanttDependencyType[VxeGanttDependencyType["StartToStart"] = 2] = "StartToStart";
15686
- /**
15687
- * 完成到完成,表示一个任务必须在另一个任务完成之后才能完成
15688
- */
15689
- VxeGanttDependencyType[VxeGanttDependencyType["FinishToFinish"] = 3] = "FinishToFinish";
15690
- })(VxeGanttDependencyType || (VxeGanttDependencyType = {}));
15691
- /**
15692
- * 任务渲染类型
15693
- */
15694
- var VxeGanttTaskType;
15695
- (function (VxeGanttTaskType) {
15696
- /**
15697
- * 里程碑类型,该类型节点不需要结束日期
15698
- */
15699
- VxeGanttTaskType["Milestone"] = "milestone";
15700
- /**
15701
- * 子视图类型,该类型会将子任务渲染到一行,无需开始日期和结束日期
15702
- */
15703
- VxeGanttTaskType["Subview"] = "subview";
15704
- })(VxeGanttTaskType || (VxeGanttTaskType = {}));
15705
17418
  ;// ./packages/gantt/index.ts
15706
17419
 
15707
17420