@wavemaker/angular-app 11.12.1-rc.221 → 11.13.0-2.647474

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.
@@ -28490,17 +28490,17 @@ var root = freeGlobal || freeSelf || Function('return this')();
28490
28490
  var Symbol$1 = root.Symbol;
28491
28491
 
28492
28492
  /** Used for built-in method references. */
28493
- var objectProto$s = Object.prototype;
28493
+ var objectProto$t = Object.prototype;
28494
28494
 
28495
28495
  /** Used to check objects for own properties. */
28496
- var hasOwnProperty$o = objectProto$s.hasOwnProperty;
28496
+ var hasOwnProperty$p = objectProto$t.hasOwnProperty;
28497
28497
 
28498
28498
  /**
28499
28499
  * Used to resolve the
28500
28500
  * [`toStringTag`](http://ecma-international.org/ecma-262/7.0/#sec-object.prototype.tostring)
28501
28501
  * of values.
28502
28502
  */
28503
- var nativeObjectToString$3 = objectProto$s.toString;
28503
+ var nativeObjectToString$3 = objectProto$t.toString;
28504
28504
 
28505
28505
  /** Built-in value references. */
28506
28506
  var symToStringTag$1 = Symbol$1 ? Symbol$1.toStringTag : undefined;
@@ -28513,7 +28513,7 @@ var symToStringTag$1 = Symbol$1 ? Symbol$1.toStringTag : undefined;
28513
28513
  * @returns {string} Returns the raw `toStringTag`.
28514
28514
  */
28515
28515
  function getRawTag(value) {
28516
- var isOwn = hasOwnProperty$o.call(value, symToStringTag$1),
28516
+ var isOwn = hasOwnProperty$p.call(value, symToStringTag$1),
28517
28517
  tag = value[symToStringTag$1];
28518
28518
 
28519
28519
  try {
@@ -28533,14 +28533,14 @@ function getRawTag(value) {
28533
28533
  }
28534
28534
 
28535
28535
  /** Used for built-in method references. */
28536
- var objectProto$r = Object.prototype;
28536
+ var objectProto$s = Object.prototype;
28537
28537
 
28538
28538
  /**
28539
28539
  * Used to resolve the
28540
28540
  * [`toStringTag`](http://ecma-international.org/ecma-262/7.0/#sec-object.prototype.tostring)
28541
28541
  * of values.
28542
28542
  */
28543
- var nativeObjectToString$2 = objectProto$r.toString;
28543
+ var nativeObjectToString$2 = objectProto$s.toString;
28544
28544
 
28545
28545
  /**
28546
28546
  * Converts `value` to a string using `Object.prototype.toString`.
@@ -29119,17 +29119,17 @@ var reIsHostCtor = /^\[object .+?Constructor\]$/;
29119
29119
 
29120
29120
  /** Used for built-in method references. */
29121
29121
  var funcProto$1 = Function.prototype,
29122
- objectProto$q = Object.prototype;
29122
+ objectProto$r = Object.prototype;
29123
29123
 
29124
29124
  /** Used to resolve the decompiled source of functions. */
29125
29125
  var funcToString$1 = funcProto$1.toString;
29126
29126
 
29127
29127
  /** Used to check objects for own properties. */
29128
- var hasOwnProperty$n = objectProto$q.hasOwnProperty;
29128
+ var hasOwnProperty$o = objectProto$r.hasOwnProperty;
29129
29129
 
29130
29130
  /** Used to detect if a method is native. */
29131
29131
  var reIsNative = RegExp('^' +
29132
- funcToString$1.call(hasOwnProperty$n).replace(reRegExpChar$1, '\\$&')
29132
+ funcToString$1.call(hasOwnProperty$o).replace(reRegExpChar$1, '\\$&')
29133
29133
  .replace(/hasOwnProperty|(function).*?(?=\\\()| for .+?(?=\\\])/g, '$1.*?') + '$'
29134
29134
  );
29135
29135
 
@@ -29459,10 +29459,10 @@ var getData = !metaMap ? noop$4 : function(func) {
29459
29459
  var realNames = {};
29460
29460
 
29461
29461
  /** Used for built-in method references. */
29462
- var objectProto$p = Object.prototype;
29462
+ var objectProto$q = Object.prototype;
29463
29463
 
29464
29464
  /** Used to check objects for own properties. */
29465
- var hasOwnProperty$m = objectProto$p.hasOwnProperty;
29465
+ var hasOwnProperty$n = objectProto$q.hasOwnProperty;
29466
29466
 
29467
29467
  /**
29468
29468
  * Gets the name of `func`.
@@ -29474,7 +29474,7 @@ var hasOwnProperty$m = objectProto$p.hasOwnProperty;
29474
29474
  function getFuncName(func) {
29475
29475
  var result = (func.name + ''),
29476
29476
  array = realNames[result],
29477
- length = hasOwnProperty$m.call(realNames, result) ? array.length : 0;
29477
+ length = hasOwnProperty$n.call(realNames, result) ? array.length : 0;
29478
29478
 
29479
29479
  while (length--) {
29480
29480
  var data = array[length],
@@ -29542,10 +29542,10 @@ function wrapperClone(wrapper) {
29542
29542
  }
29543
29543
 
29544
29544
  /** Used for built-in method references. */
29545
- var objectProto$o = Object.prototype;
29545
+ var objectProto$p = Object.prototype;
29546
29546
 
29547
29547
  /** Used to check objects for own properties. */
29548
- var hasOwnProperty$l = objectProto$o.hasOwnProperty;
29548
+ var hasOwnProperty$m = objectProto$p.hasOwnProperty;
29549
29549
 
29550
29550
  /**
29551
29551
  * Creates a `lodash` object which wraps `value` to enable implicit method
@@ -29669,7 +29669,7 @@ function lodash(value) {
29669
29669
  if (value instanceof LodashWrapper) {
29670
29670
  return value;
29671
29671
  }
29672
- if (hasOwnProperty$l.call(value, '__wrapped__')) {
29672
+ if (hasOwnProperty$m.call(value, '__wrapped__')) {
29673
29673
  return wrapperClone(value);
29674
29674
  }
29675
29675
  }
@@ -30573,10 +30573,10 @@ function eq(value, other) {
30573
30573
  }
30574
30574
 
30575
30575
  /** Used for built-in method references. */
30576
- var objectProto$n = Object.prototype;
30576
+ var objectProto$o = Object.prototype;
30577
30577
 
30578
30578
  /** Used to check objects for own properties. */
30579
- var hasOwnProperty$k = objectProto$n.hasOwnProperty;
30579
+ var hasOwnProperty$l = objectProto$o.hasOwnProperty;
30580
30580
 
30581
30581
  /**
30582
30582
  * Assigns `value` to `key` of `object` if the existing value is not equivalent
@@ -30590,7 +30590,7 @@ var hasOwnProperty$k = objectProto$n.hasOwnProperty;
30590
30590
  */
30591
30591
  function assignValue(object, key, value) {
30592
30592
  var objValue = object[key];
30593
- if (!(hasOwnProperty$k.call(object, key) && eq(objValue, value)) ||
30593
+ if (!(hasOwnProperty$l.call(object, key) && eq(objValue, value)) ||
30594
30594
  (value === undefined && !(key in object))) {
30595
30595
  baseAssignValue(object, key, value);
30596
30596
  }
@@ -30798,7 +30798,7 @@ function createAssigner(assigner) {
30798
30798
  }
30799
30799
 
30800
30800
  /** Used for built-in method references. */
30801
- var objectProto$m = Object.prototype;
30801
+ var objectProto$n = Object.prototype;
30802
30802
 
30803
30803
  /**
30804
30804
  * Checks if `value` is likely a prototype object.
@@ -30809,7 +30809,7 @@ var objectProto$m = Object.prototype;
30809
30809
  */
30810
30810
  function isPrototype(value) {
30811
30811
  var Ctor = value && value.constructor,
30812
- proto = (typeof Ctor == 'function' && Ctor.prototype) || objectProto$m;
30812
+ proto = (typeof Ctor == 'function' && Ctor.prototype) || objectProto$n;
30813
30813
 
30814
30814
  return value === proto;
30815
30815
  }
@@ -30848,13 +30848,13 @@ function baseIsArguments(value) {
30848
30848
  }
30849
30849
 
30850
30850
  /** Used for built-in method references. */
30851
- var objectProto$l = Object.prototype;
30851
+ var objectProto$m = Object.prototype;
30852
30852
 
30853
30853
  /** Used to check objects for own properties. */
30854
- var hasOwnProperty$j = objectProto$l.hasOwnProperty;
30854
+ var hasOwnProperty$k = objectProto$m.hasOwnProperty;
30855
30855
 
30856
30856
  /** Built-in value references. */
30857
- var propertyIsEnumerable$1 = objectProto$l.propertyIsEnumerable;
30857
+ var propertyIsEnumerable$1 = objectProto$m.propertyIsEnumerable;
30858
30858
 
30859
30859
  /**
30860
30860
  * Checks if `value` is likely an `arguments` object.
@@ -30875,7 +30875,7 @@ var propertyIsEnumerable$1 = objectProto$l.propertyIsEnumerable;
30875
30875
  * // => false
30876
30876
  */
30877
30877
  var isArguments = baseIsArguments(function() { return arguments; }()) ? baseIsArguments : function(value) {
30878
- return isObjectLike(value) && hasOwnProperty$j.call(value, 'callee') &&
30878
+ return isObjectLike(value) && hasOwnProperty$k.call(value, 'callee') &&
30879
30879
  !propertyIsEnumerable$1.call(value, 'callee');
30880
30880
  };
30881
30881
 
@@ -31048,10 +31048,10 @@ var nodeIsTypedArray = nodeUtil && nodeUtil.isTypedArray;
31048
31048
  var isTypedArray = nodeIsTypedArray ? baseUnary(nodeIsTypedArray) : baseIsTypedArray;
31049
31049
 
31050
31050
  /** Used for built-in method references. */
31051
- var objectProto$k = Object.prototype;
31051
+ var objectProto$l = Object.prototype;
31052
31052
 
31053
31053
  /** Used to check objects for own properties. */
31054
- var hasOwnProperty$i = objectProto$k.hasOwnProperty;
31054
+ var hasOwnProperty$j = objectProto$l.hasOwnProperty;
31055
31055
 
31056
31056
  /**
31057
31057
  * Creates an array of the enumerable property names of the array-like `value`.
@@ -31071,7 +31071,7 @@ function arrayLikeKeys(value, inherited) {
31071
31071
  length = result.length;
31072
31072
 
31073
31073
  for (var key in value) {
31074
- if ((inherited || hasOwnProperty$i.call(value, key)) &&
31074
+ if ((inherited || hasOwnProperty$j.call(value, key)) &&
31075
31075
  !(skipIndexes && (
31076
31076
  // Safari 9 has enumerable `arguments.length` in strict mode.
31077
31077
  key == 'length' ||
@@ -31106,10 +31106,10 @@ function overArg(func, transform) {
31106
31106
  var nativeKeys = overArg(Object.keys, Object);
31107
31107
 
31108
31108
  /** Used for built-in method references. */
31109
- var objectProto$j = Object.prototype;
31109
+ var objectProto$k = Object.prototype;
31110
31110
 
31111
31111
  /** Used to check objects for own properties. */
31112
- var hasOwnProperty$h = objectProto$j.hasOwnProperty;
31112
+ var hasOwnProperty$i = objectProto$k.hasOwnProperty;
31113
31113
 
31114
31114
  /**
31115
31115
  * The base implementation of `_.keys` which doesn't treat sparse arrays as dense.
@@ -31124,7 +31124,7 @@ function baseKeys(object) {
31124
31124
  }
31125
31125
  var result = [];
31126
31126
  for (var key in Object(object)) {
31127
- if (hasOwnProperty$h.call(object, key) && key != 'constructor') {
31127
+ if (hasOwnProperty$i.call(object, key) && key != 'constructor') {
31128
31128
  result.push(key);
31129
31129
  }
31130
31130
  }
@@ -31164,10 +31164,10 @@ function keys(object) {
31164
31164
  }
31165
31165
 
31166
31166
  /** Used for built-in method references. */
31167
- var objectProto$i = Object.prototype;
31167
+ var objectProto$j = Object.prototype;
31168
31168
 
31169
31169
  /** Used to check objects for own properties. */
31170
- var hasOwnProperty$g = objectProto$i.hasOwnProperty;
31170
+ var hasOwnProperty$h = objectProto$j.hasOwnProperty;
31171
31171
 
31172
31172
  /**
31173
31173
  * Assigns own enumerable string keyed properties of source objects to the
@@ -31207,7 +31207,7 @@ var assign = createAssigner(function(object, source) {
31207
31207
  return;
31208
31208
  }
31209
31209
  for (var key in source) {
31210
- if (hasOwnProperty$g.call(source, key)) {
31210
+ if (hasOwnProperty$h.call(source, key)) {
31211
31211
  assignValue(object, key, source[key]);
31212
31212
  }
31213
31213
  }
@@ -31233,10 +31233,10 @@ function nativeKeysIn(object) {
31233
31233
  }
31234
31234
 
31235
31235
  /** Used for built-in method references. */
31236
- var objectProto$h = Object.prototype;
31236
+ var objectProto$i = Object.prototype;
31237
31237
 
31238
31238
  /** Used to check objects for own properties. */
31239
- var hasOwnProperty$f = objectProto$h.hasOwnProperty;
31239
+ var hasOwnProperty$g = objectProto$i.hasOwnProperty;
31240
31240
 
31241
31241
  /**
31242
31242
  * The base implementation of `_.keysIn` which doesn't treat sparse arrays as dense.
@@ -31253,7 +31253,7 @@ function baseKeysIn(object) {
31253
31253
  result = [];
31254
31254
 
31255
31255
  for (var key in object) {
31256
- if (!(key == 'constructor' && (isProto || !hasOwnProperty$f.call(object, key)))) {
31256
+ if (!(key == 'constructor' && (isProto || !hasOwnProperty$g.call(object, key)))) {
31257
31257
  result.push(key);
31258
31258
  }
31259
31259
  }
@@ -31447,10 +31447,10 @@ function hashDelete(key) {
31447
31447
  var HASH_UNDEFINED$2 = '__lodash_hash_undefined__';
31448
31448
 
31449
31449
  /** Used for built-in method references. */
31450
- var objectProto$g = Object.prototype;
31450
+ var objectProto$h = Object.prototype;
31451
31451
 
31452
31452
  /** Used to check objects for own properties. */
31453
- var hasOwnProperty$e = objectProto$g.hasOwnProperty;
31453
+ var hasOwnProperty$f = objectProto$h.hasOwnProperty;
31454
31454
 
31455
31455
  /**
31456
31456
  * Gets the hash value for `key`.
@@ -31467,14 +31467,14 @@ function hashGet(key) {
31467
31467
  var result = data[key];
31468
31468
  return result === HASH_UNDEFINED$2 ? undefined : result;
31469
31469
  }
31470
- return hasOwnProperty$e.call(data, key) ? data[key] : undefined;
31470
+ return hasOwnProperty$f.call(data, key) ? data[key] : undefined;
31471
31471
  }
31472
31472
 
31473
31473
  /** Used for built-in method references. */
31474
- var objectProto$f = Object.prototype;
31474
+ var objectProto$g = Object.prototype;
31475
31475
 
31476
31476
  /** Used to check objects for own properties. */
31477
- var hasOwnProperty$d = objectProto$f.hasOwnProperty;
31477
+ var hasOwnProperty$e = objectProto$g.hasOwnProperty;
31478
31478
 
31479
31479
  /**
31480
31480
  * Checks if a hash value for `key` exists.
@@ -31487,7 +31487,7 @@ var hasOwnProperty$d = objectProto$f.hasOwnProperty;
31487
31487
  */
31488
31488
  function hashHas(key) {
31489
31489
  var data = this.__data__;
31490
- return nativeCreate ? (data[key] !== undefined) : hasOwnProperty$d.call(data, key);
31490
+ return nativeCreate ? (data[key] !== undefined) : hasOwnProperty$e.call(data, key);
31491
31491
  }
31492
31492
 
31493
31493
  /** Used to stand-in for `undefined` hash values. */
@@ -32174,13 +32174,13 @@ var objectTag$3 = '[object Object]';
32174
32174
 
32175
32175
  /** Used for built-in method references. */
32176
32176
  var funcProto = Function.prototype,
32177
- objectProto$e = Object.prototype;
32177
+ objectProto$f = Object.prototype;
32178
32178
 
32179
32179
  /** Used to resolve the decompiled source of functions. */
32180
32180
  var funcToString = funcProto.toString;
32181
32181
 
32182
32182
  /** Used to check objects for own properties. */
32183
- var hasOwnProperty$c = objectProto$e.hasOwnProperty;
32183
+ var hasOwnProperty$d = objectProto$f.hasOwnProperty;
32184
32184
 
32185
32185
  /** Used to infer the `Object` constructor. */
32186
32186
  var objectCtorString = funcToString.call(Object);
@@ -32221,7 +32221,7 @@ function isPlainObject(value) {
32221
32221
  if (proto === null) {
32222
32222
  return true;
32223
32223
  }
32224
- var Ctor = hasOwnProperty$c.call(proto, 'constructor') && proto.constructor;
32224
+ var Ctor = hasOwnProperty$d.call(proto, 'constructor') && proto.constructor;
32225
32225
  return typeof Ctor == 'function' && Ctor instanceof Ctor &&
32226
32226
  funcToString.call(Ctor) == objectCtorString;
32227
32227
  }
@@ -33422,10 +33422,10 @@ function stubArray() {
33422
33422
  }
33423
33423
 
33424
33424
  /** Used for built-in method references. */
33425
- var objectProto$d = Object.prototype;
33425
+ var objectProto$e = Object.prototype;
33426
33426
 
33427
33427
  /** Built-in value references. */
33428
- var propertyIsEnumerable = objectProto$d.propertyIsEnumerable;
33428
+ var propertyIsEnumerable = objectProto$e.propertyIsEnumerable;
33429
33429
 
33430
33430
  /* Built-in method references for those with the same name as other `lodash` methods. */
33431
33431
  var nativeGetSymbols$1 = Object.getOwnPropertySymbols;
@@ -33590,10 +33590,10 @@ if ((DataView$1 && getTag(new DataView$1(new ArrayBuffer(1))) != dataViewTag$3)
33590
33590
  var getTag$1 = getTag;
33591
33591
 
33592
33592
  /** Used for built-in method references. */
33593
- var objectProto$c = Object.prototype;
33593
+ var objectProto$d = Object.prototype;
33594
33594
 
33595
33595
  /** Used to check objects for own properties. */
33596
- var hasOwnProperty$b = objectProto$c.hasOwnProperty;
33596
+ var hasOwnProperty$c = objectProto$d.hasOwnProperty;
33597
33597
 
33598
33598
  /**
33599
33599
  * Initializes an array clone.
@@ -33607,7 +33607,7 @@ function initCloneArray(array) {
33607
33607
  result = new array.constructor(length);
33608
33608
 
33609
33609
  // Add properties assigned by `RegExp#exec`.
33610
- if (length && typeof array[0] == 'string' && hasOwnProperty$b.call(array, 'index')) {
33610
+ if (length && typeof array[0] == 'string' && hasOwnProperty$c.call(array, 'index')) {
33611
33611
  result.index = array.index;
33612
33612
  result.input = array.input;
33613
33613
  }
@@ -34151,7 +34151,7 @@ function wrapperCommit() {
34151
34151
 
34152
34152
  /**
34153
34153
  * Creates an array with all falsey values removed. The values `false`, `null`,
34154
- * `0`, `""`, `undefined`, and `NaN` are falsey.
34154
+ * `0`, `-0`, `0n`, `""`, `undefined`, and `NaN` are falsy.
34155
34155
  *
34156
34156
  * @static
34157
34157
  * @memberOf _
@@ -34241,7 +34241,7 @@ function setCacheAdd(value) {
34241
34241
  * @name has
34242
34242
  * @memberOf SetCache
34243
34243
  * @param {*} value The value to search for.
34244
- * @returns {number} Returns `true` if `value` is found, else `false`.
34244
+ * @returns {boolean} Returns `true` if `value` is found, else `false`.
34245
34245
  */
34246
34246
  function setCacheHas(value) {
34247
34247
  return this.__data__.has(value);
@@ -34524,10 +34524,10 @@ function equalByTag(object, other, tag, bitmask, customizer, equalFunc, stack) {
34524
34524
  var COMPARE_PARTIAL_FLAG$3 = 1;
34525
34525
 
34526
34526
  /** Used for built-in method references. */
34527
- var objectProto$b = Object.prototype;
34527
+ var objectProto$c = Object.prototype;
34528
34528
 
34529
34529
  /** Used to check objects for own properties. */
34530
- var hasOwnProperty$a = objectProto$b.hasOwnProperty;
34530
+ var hasOwnProperty$b = objectProto$c.hasOwnProperty;
34531
34531
 
34532
34532
  /**
34533
34533
  * A specialized version of `baseIsEqualDeep` for objects with support for
@@ -34555,7 +34555,7 @@ function equalObjects(object, other, bitmask, customizer, equalFunc, stack) {
34555
34555
  var index = objLength;
34556
34556
  while (index--) {
34557
34557
  var key = objProps[index];
34558
- if (!(isPartial ? key in other : hasOwnProperty$a.call(other, key))) {
34558
+ if (!(isPartial ? key in other : hasOwnProperty$b.call(other, key))) {
34559
34559
  return false;
34560
34560
  }
34561
34561
  }
@@ -34616,10 +34616,10 @@ var argsTag = '[object Arguments]',
34616
34616
  objectTag = '[object Object]';
34617
34617
 
34618
34618
  /** Used for built-in method references. */
34619
- var objectProto$a = Object.prototype;
34619
+ var objectProto$b = Object.prototype;
34620
34620
 
34621
34621
  /** Used to check objects for own properties. */
34622
- var hasOwnProperty$9 = objectProto$a.hasOwnProperty;
34622
+ var hasOwnProperty$a = objectProto$b.hasOwnProperty;
34623
34623
 
34624
34624
  /**
34625
34625
  * A specialized version of `baseIsEqual` for arrays and objects which performs
@@ -34662,8 +34662,8 @@ function baseIsEqualDeep(object, other, bitmask, customizer, equalFunc, stack) {
34662
34662
  : equalByTag(object, other, objTag, bitmask, customizer, equalFunc, stack);
34663
34663
  }
34664
34664
  if (!(bitmask & COMPARE_PARTIAL_FLAG$2)) {
34665
- var objIsWrapped = objIsObj && hasOwnProperty$9.call(object, '__wrapped__'),
34666
- othIsWrapped = othIsObj && hasOwnProperty$9.call(other, '__wrapped__');
34665
+ var objIsWrapped = objIsObj && hasOwnProperty$a.call(object, '__wrapped__'),
34666
+ othIsWrapped = othIsObj && hasOwnProperty$a.call(other, '__wrapped__');
34667
34667
 
34668
34668
  if (objIsWrapped || othIsWrapped) {
34669
34669
  var objUnwrapped = objIsWrapped ? object.value() : object,
@@ -35301,10 +35301,10 @@ function createAggregator(setter, initializer) {
35301
35301
  }
35302
35302
 
35303
35303
  /** Used for built-in method references. */
35304
- var objectProto$9 = Object.prototype;
35304
+ var objectProto$a = Object.prototype;
35305
35305
 
35306
35306
  /** Used to check objects for own properties. */
35307
- var hasOwnProperty$8 = objectProto$9.hasOwnProperty;
35307
+ var hasOwnProperty$9 = objectProto$a.hasOwnProperty;
35308
35308
 
35309
35309
  /**
35310
35310
  * Creates an object composed of keys generated from the results of running
@@ -35329,7 +35329,7 @@ var hasOwnProperty$8 = objectProto$9.hasOwnProperty;
35329
35329
  * // => { '3': 2, '5': 1 }
35330
35330
  */
35331
35331
  var countBy = createAggregator(function(result, value, key) {
35332
- if (hasOwnProperty$8.call(result, key)) {
35332
+ if (hasOwnProperty$9.call(result, key)) {
35333
35333
  ++result[key];
35334
35334
  } else {
35335
35335
  baseAssignValue(result, key, 1);
@@ -35711,10 +35711,10 @@ function defaultTo(value, defaultValue) {
35711
35711
  }
35712
35712
 
35713
35713
  /** Used for built-in method references. */
35714
- var objectProto$8 = Object.prototype;
35714
+ var objectProto$9 = Object.prototype;
35715
35715
 
35716
35716
  /** Used to check objects for own properties. */
35717
- var hasOwnProperty$7 = objectProto$8.hasOwnProperty;
35717
+ var hasOwnProperty$8 = objectProto$9.hasOwnProperty;
35718
35718
 
35719
35719
  /**
35720
35720
  * Assigns own and inherited enumerable string keyed properties of source
@@ -35759,7 +35759,7 @@ var defaults = baseRest(function(object, sources) {
35759
35759
  var value = object[key];
35760
35760
 
35761
35761
  if (value === undefined ||
35762
- (eq(value, objectProto$8[key]) && !hasOwnProperty$7.call(object, key))) {
35762
+ (eq(value, objectProto$9[key]) && !hasOwnProperty$8.call(object, key))) {
35763
35763
  object[key] = source[key];
35764
35764
  }
35765
35765
  }
@@ -37933,7 +37933,7 @@ function fromPairs(pairs) {
37933
37933
 
37934
37934
  while (++index < length) {
37935
37935
  var pair = pairs[index];
37936
- result[pair[0]] = pair[1];
37936
+ baseAssignValue(result, pair[0], pair[1]);
37937
37937
  }
37938
37938
  return result;
37939
37939
  }
@@ -38008,10 +38008,10 @@ function functionsIn(object) {
38008
38008
  }
38009
38009
 
38010
38010
  /** Used for built-in method references. */
38011
- var objectProto$7 = Object.prototype;
38011
+ var objectProto$8 = Object.prototype;
38012
38012
 
38013
38013
  /** Used to check objects for own properties. */
38014
- var hasOwnProperty$6 = objectProto$7.hasOwnProperty;
38014
+ var hasOwnProperty$7 = objectProto$8.hasOwnProperty;
38015
38015
 
38016
38016
  /**
38017
38017
  * Creates an object composed of keys generated from the results of running
@@ -38037,7 +38037,7 @@ var hasOwnProperty$6 = objectProto$7.hasOwnProperty;
38037
38037
  * // => { '3': ['one', 'two'], '5': ['three'] }
38038
38038
  */
38039
38039
  var groupBy = createAggregator(function(result, value, key) {
38040
- if (hasOwnProperty$6.call(result, key)) {
38040
+ if (hasOwnProperty$7.call(result, key)) {
38041
38041
  result[key].push(value);
38042
38042
  } else {
38043
38043
  baseAssignValue(result, key, [value]);
@@ -38127,10 +38127,10 @@ var gte = createRelationalOperation(function(value, other) {
38127
38127
  });
38128
38128
 
38129
38129
  /** Used for built-in method references. */
38130
- var objectProto$6 = Object.prototype;
38130
+ var objectProto$7 = Object.prototype;
38131
38131
 
38132
38132
  /** Used to check objects for own properties. */
38133
- var hasOwnProperty$5 = objectProto$6.hasOwnProperty;
38133
+ var hasOwnProperty$6 = objectProto$7.hasOwnProperty;
38134
38134
 
38135
38135
  /**
38136
38136
  * The base implementation of `_.has` without support for deep paths.
@@ -38141,7 +38141,7 @@ var hasOwnProperty$5 = objectProto$6.hasOwnProperty;
38141
38141
  * @returns {boolean} Returns `true` if `key` exists, else `false`.
38142
38142
  */
38143
38143
  function baseHas(object, key) {
38144
- return object != null && hasOwnProperty$5.call(object, key);
38144
+ return object != null && hasOwnProperty$6.call(object, key);
38145
38145
  }
38146
38146
 
38147
38147
  /**
@@ -38621,14 +38621,14 @@ function createInverter(setter, toIteratee) {
38621
38621
  }
38622
38622
 
38623
38623
  /** Used for built-in method references. */
38624
- var objectProto$5 = Object.prototype;
38624
+ var objectProto$6 = Object.prototype;
38625
38625
 
38626
38626
  /**
38627
38627
  * Used to resolve the
38628
38628
  * [`toStringTag`](http://ecma-international.org/ecma-262/7.0/#sec-object.prototype.tostring)
38629
38629
  * of values.
38630
38630
  */
38631
- var nativeObjectToString$1 = objectProto$5.toString;
38631
+ var nativeObjectToString$1 = objectProto$6.toString;
38632
38632
 
38633
38633
  /**
38634
38634
  * Creates an object composed of the inverted keys and values of `object`.
@@ -38658,17 +38658,17 @@ var invert = createInverter(function(result, value, key) {
38658
38658
  }, constant(identity$1));
38659
38659
 
38660
38660
  /** Used for built-in method references. */
38661
- var objectProto$4 = Object.prototype;
38661
+ var objectProto$5 = Object.prototype;
38662
38662
 
38663
38663
  /** Used to check objects for own properties. */
38664
- var hasOwnProperty$4 = objectProto$4.hasOwnProperty;
38664
+ var hasOwnProperty$5 = objectProto$5.hasOwnProperty;
38665
38665
 
38666
38666
  /**
38667
38667
  * Used to resolve the
38668
38668
  * [`toStringTag`](http://ecma-international.org/ecma-262/7.0/#sec-object.prototype.tostring)
38669
38669
  * of values.
38670
38670
  */
38671
- var nativeObjectToString = objectProto$4.toString;
38671
+ var nativeObjectToString = objectProto$5.toString;
38672
38672
 
38673
38673
  /**
38674
38674
  * This method is like `_.invert` except that the inverted object is generated
@@ -38702,7 +38702,7 @@ var invertBy = createInverter(function(result, value, key) {
38702
38702
  value = nativeObjectToString.call(value);
38703
38703
  }
38704
38704
 
38705
- if (hasOwnProperty$4.call(result, value)) {
38705
+ if (hasOwnProperty$5.call(result, value)) {
38706
38706
  result[value].push(key);
38707
38707
  } else {
38708
38708
  result[value] = [key];
@@ -38914,10 +38914,10 @@ var mapTag$2 = '[object Map]',
38914
38914
  setTag$2 = '[object Set]';
38915
38915
 
38916
38916
  /** Used for built-in method references. */
38917
- var objectProto$3 = Object.prototype;
38917
+ var objectProto$4 = Object.prototype;
38918
38918
 
38919
38919
  /** Used to check objects for own properties. */
38920
- var hasOwnProperty$3 = objectProto$3.hasOwnProperty;
38920
+ var hasOwnProperty$4 = objectProto$4.hasOwnProperty;
38921
38921
 
38922
38922
  /**
38923
38923
  * Checks if `value` is an empty object, collection, map, or set.
@@ -38969,7 +38969,7 @@ function isEmpty(value) {
38969
38969
  return !baseKeys(value).length;
38970
38970
  }
38971
38971
  for (var key in value) {
38972
- if (hasOwnProperty$3.call(value, key)) {
38972
+ if (hasOwnProperty$4.call(value, key)) {
38973
38973
  return false;
38974
38974
  }
38975
38975
  }
@@ -40527,6 +40527,12 @@ function nthArg(n) {
40527
40527
  });
40528
40528
  }
40529
40529
 
40530
+ /** Used for built-in method references. */
40531
+ var objectProto$3 = Object.prototype;
40532
+
40533
+ /** Used to check objects for own properties. */
40534
+ var hasOwnProperty$3 = objectProto$3.hasOwnProperty;
40535
+
40530
40536
  /**
40531
40537
  * The base implementation of `_.unset`.
40532
40538
  *
@@ -40537,8 +40543,34 @@ function nthArg(n) {
40537
40543
  */
40538
40544
  function baseUnset(object, path) {
40539
40545
  path = castPath(path, object);
40540
- object = parent$1(object, path);
40541
- return object == null || delete object[toKey(last(path))];
40546
+
40547
+ // Prevent prototype pollution:
40548
+ // https://github.com/lodash/lodash/security/advisories/GHSA-xxjr-mmjv-4gpg
40549
+ // https://github.com/lodash/lodash/security/advisories/GHSA-f23m-r3pf-42rh
40550
+ var index = -1,
40551
+ length = path.length;
40552
+
40553
+ if (!length) {
40554
+ return true;
40555
+ }
40556
+
40557
+ while (++index < length) {
40558
+ var key = toKey(path[index]);
40559
+
40560
+ // Always block "__proto__" anywhere in the path if it's not expected
40561
+ if (key === '__proto__' && !hasOwnProperty$3.call(object, '__proto__')) {
40562
+ return false;
40563
+ }
40564
+
40565
+ // Block constructor/prototype as non-terminal traversal keys to prevent
40566
+ // escaping the object graph into built-in constructors and prototypes.
40567
+ if ((key === 'constructor' || key === 'prototype') && index < length - 1) {
40568
+ return false;
40569
+ }
40570
+ }
40571
+
40572
+ var obj = parent$1(object, path);
40573
+ return obj == null || delete obj[toKey(last(path))];
40542
40574
  }
40543
40575
 
40544
40576
  /**
@@ -40861,7 +40893,7 @@ function baseOrderBy(collection, iteratees, orders) {
40861
40893
  if (isArray$1(iteratee)) {
40862
40894
  return function(value) {
40863
40895
  return baseGet(value, iteratee.length === 1 ? iteratee[0] : iteratee);
40864
- }
40896
+ };
40865
40897
  }
40866
40898
  return iteratee;
40867
40899
  });
@@ -41873,6 +41905,8 @@ var nativeMin$5 = Math.min,
41873
41905
  * **Note:** JavaScript follows the IEEE-754 standard for resolving
41874
41906
  * floating-point values which can produce unexpected results.
41875
41907
  *
41908
+ * **Note:** If `lower` is greater than `upper`, the values are swapped.
41909
+ *
41876
41910
  * @static
41877
41911
  * @memberOf _
41878
41912
  * @since 0.7.0
@@ -41886,9 +41920,16 @@ var nativeMin$5 = Math.min,
41886
41920
  * _.random(0, 5);
41887
41921
  * // => an integer between 0 and 5
41888
41922
  *
41923
+ * // when lower is greater than upper the values are swapped
41924
+ * _.random(5, 0);
41925
+ * // => an integer between 0 and 5
41926
+ *
41889
41927
  * _.random(5);
41890
41928
  * // => also an integer between 0 and 5
41891
41929
  *
41930
+ * _.random(-5);
41931
+ * // => an integer between -5 and 0
41932
+ *
41892
41933
  * _.random(5, true);
41893
41934
  * // => a floating-point number between 0 and 5
41894
41935
  *
@@ -43793,6 +43834,10 @@ var reEvaluate = /<%([\s\S]+?)%>/g;
43793
43834
  * embedded Ruby (ERB) as well as ES2015 template strings. Change the
43794
43835
  * following template settings to use alternative delimiters.
43795
43836
  *
43837
+ * **Security:** See
43838
+ * [threat model](https://github.com/lodash/lodash/blob/main/threat-model.md)
43839
+ * — `_.template` is insecure and will be removed in v5.
43840
+ *
43796
43841
  * @static
43797
43842
  * @memberOf _
43798
43843
  * @type {Object}
@@ -43850,7 +43895,8 @@ var templateSettings = {
43850
43895
  };
43851
43896
 
43852
43897
  /** Error message constants. */
43853
- var INVALID_TEMPL_VAR_ERROR_TEXT = 'Invalid `variable` option passed into `_.template`';
43898
+ var INVALID_TEMPL_VAR_ERROR_TEXT = 'Invalid `variable` option passed into `_.template`',
43899
+ INVALID_TEMPL_IMPORTS_ERROR_TEXT = 'Invalid `imports` option passed into `_.template`';
43854
43900
 
43855
43901
  /** Used to match empty string literals in compiled template source. */
43856
43902
  var reEmptyStringLeading = /\b__p \+= '';/g,
@@ -43894,6 +43940,10 @@ var hasOwnProperty$1 = objectProto$1.hasOwnProperty;
43894
43940
  * properties may be accessed as free variables in the template. If a setting
43895
43941
  * object is given, it takes precedence over `_.templateSettings` values.
43896
43942
  *
43943
+ * **Security:** `_.template` is insecure and should not be used. It will be
43944
+ * removed in Lodash v5. Avoid untrusted input. See
43945
+ * [threat model](https://github.com/lodash/lodash/blob/main/threat-model.md).
43946
+ *
43897
43947
  * **Note:** In the development build `_.template` utilizes
43898
43948
  * [sourceURLs](http://www.html5rocks.com/en/tutorials/developertools/sourcemaps/#toc-sourceurl)
43899
43949
  * for easier debugging.
@@ -44001,12 +44051,18 @@ function template(string, options, guard) {
44001
44051
  options = undefined;
44002
44052
  }
44003
44053
  string = toString(string);
44004
- options = assignInWith({}, options, settings, customDefaultsAssignIn);
44054
+ options = assignWith({}, options, settings, customDefaultsAssignIn);
44005
44055
 
44006
- var imports = assignInWith({}, options.imports, settings.imports, customDefaultsAssignIn),
44056
+ var imports = assignWith({}, options.imports, settings.imports, customDefaultsAssignIn),
44007
44057
  importsKeys = keys(imports),
44008
44058
  importsValues = baseValues(imports, importsKeys);
44009
44059
 
44060
+ arrayEach(importsKeys, function(key) {
44061
+ if (reForbiddenIdentifierChars.test(key)) {
44062
+ throw new Error(INVALID_TEMPL_IMPORTS_ERROR_TEXT);
44063
+ }
44064
+ });
44065
+
44010
44066
  var isEscaping,
44011
44067
  isEvaluating,
44012
44068
  index = 0,
@@ -45872,7 +45928,7 @@ function lazyValue() {
45872
45928
  /**
45873
45929
  * @license
45874
45930
  * Lodash (Custom Build) <https://lodash.com/>
45875
- * Build: `lodash modularize exports="es" -o ./`
45931
+ * Build: `lodash modularize exports="es" --repo lodash/lodash#4.18.1 -o ./`
45876
45932
  * Copyright OpenJS Foundation and other contributors <https://openjsf.org/>
45877
45933
  * Released under MIT license <https://lodash.com/license>
45878
45934
  * Based on Underscore.js 1.8.3 <http://underscorejs.org/LICENSE>
@@ -45880,7 +45936,7 @@ function lazyValue() {
45880
45936
  */
45881
45937
 
45882
45938
  /** Used as the semantic version number. */
45883
- var VERSION$1 = '4.17.21';
45939
+ var VERSION$1 = '4.18.1';
45884
45940
 
45885
45941
  /** Used to compose bitmasks for function metadata. */
45886
45942
  var WRAP_BIND_KEY_FLAG = 2;
@@ -46908,19 +46964,6 @@ const getAttrMarkup = (attrs) => {
46908
46964
  v = v + `" *lazyLoad="${wrapWithApos(v)}`;
46909
46965
  }
46910
46966
  attrMarkup += `="${v}"`;
46911
- if (k === 'showindevice' && v !== 'all') {
46912
- const condition = [];
46913
- if (v.includes('xs')) {
46914
- condition.push('Viewport.isMobileType');
46915
- }
46916
- if (v.includes('sm')) {
46917
- condition.push('(Viewport.isTabletType && Viewport.orientation.isPortrait)');
46918
- }
46919
- if (v.includes('md')) {
46920
- condition.push('(Viewport.isTabletType && Viewport.orientation.isLandscape)');
46921
- }
46922
- attrMarkup += ` *ngIf="${condition.join(' || ')}"`;
46923
- }
46924
46967
  }
46925
46968
  });
46926
46969
  return attrMarkup;
@@ -48846,14 +48889,14 @@ function requireDom () {
48846
48889
  ExceptionCode.DOMSTRING_SIZE_ERR = ((ExceptionMessage[2]="DOMString size error"),2);
48847
48890
  var HIERARCHY_REQUEST_ERR = ExceptionCode.HIERARCHY_REQUEST_ERR = ((ExceptionMessage[3]="Hierarchy request error"),3);
48848
48891
  ExceptionCode.WRONG_DOCUMENT_ERR = ((ExceptionMessage[4]="Wrong document"),4);
48849
- ExceptionCode.INVALID_CHARACTER_ERR = ((ExceptionMessage[5]="Invalid character"),5);
48892
+ var INVALID_CHARACTER_ERR = ExceptionCode.INVALID_CHARACTER_ERR = ((ExceptionMessage[5]="Invalid character"),5);
48850
48893
  ExceptionCode.NO_DATA_ALLOWED_ERR = ((ExceptionMessage[6]="No data allowed"),6);
48851
48894
  ExceptionCode.NO_MODIFICATION_ALLOWED_ERR = ((ExceptionMessage[7]="No modification allowed"),7);
48852
48895
  var NOT_FOUND_ERR = ExceptionCode.NOT_FOUND_ERR = ((ExceptionMessage[8]="Not found"),8);
48853
48896
  ExceptionCode.NOT_SUPPORTED_ERR = ((ExceptionMessage[9]="Not supported"),9);
48854
48897
  var INUSE_ATTRIBUTE_ERR = ExceptionCode.INUSE_ATTRIBUTE_ERR = ((ExceptionMessage[10]="Attribute in use"),10);
48855
48898
  //level2
48856
- ExceptionCode.INVALID_STATE_ERR = ((ExceptionMessage[11]="Invalid state"),11);
48899
+ var INVALID_STATE_ERR = ExceptionCode.INVALID_STATE_ERR = ((ExceptionMessage[11]="Invalid state"),11);
48857
48900
  ExceptionCode.SYNTAX_ERR = ((ExceptionMessage[12]="Syntax error"),12);
48858
48901
  ExceptionCode.INVALID_MODIFICATION_ERR = ((ExceptionMessage[13]="Invalid modification"),13);
48859
48902
  ExceptionCode.NAMESPACE_ERR = ((ExceptionMessage[14]="Invalid namespace"),14);
@@ -48903,9 +48946,10 @@ function requireDom () {
48903
48946
  item: function(index) {
48904
48947
  return index >= 0 && index < this.length ? this[index] : null;
48905
48948
  },
48906
- toString:function(isHTML,nodeFilter){
48949
+ toString:function(isHTML,nodeFilter,options){
48950
+ var requireWellFormed = !!options && !!options.requireWellFormed;
48907
48951
  for(var buf = [], i = 0;i<this.length;i++){
48908
- serializeToString(this[i],buf,isHTML,nodeFilter);
48952
+ serializeToString(this[i],buf,isHTML,nodeFilter,null,requireWellFormed);
48909
48953
  }
48910
48954
  return buf.join('');
48911
48955
  },
@@ -49150,13 +49194,28 @@ function requireDom () {
49150
49194
  /**
49151
49195
  * Returns a doctype, with the given `qualifiedName`, `publicId`, and `systemId`.
49152
49196
  *
49153
- * __This behavior is slightly different from the in the specs__:
49197
+ * __This implementation differs from the specification:__
49154
49198
  * - this implementation is not validating names or qualified names
49155
49199
  * (when parsing XML strings, the SAX parser takes care of that)
49156
49200
  *
49201
+ * Note: `internalSubset` can only be introduced via a direct property write to `node.internalSubset` after creation.
49202
+ * Creation-time validation of `publicId`, `systemId` is not enforced.
49203
+ * The serializer-level check covers all mutation vectors, including direct property writes.
49204
+ * `internalSubset` is only serialized as `[ ... ]` when both `publicId` and `systemId` are
49205
+ * absent (empty or `'.'`) — if either external identifier is present, `internalSubset` is
49206
+ * silently omitted from the serialized output.
49207
+ *
49157
49208
  * @param {string} qualifiedName
49158
49209
  * @param {string} [publicId]
49210
+ * The external subset public identifier. Stored verbatim including surrounding quotes.
49211
+ * When serialized with `requireWellFormed: true` (via the 4th-parameter options object),
49212
+ * throws `DOMException` with code `INVALID_STATE_ERR` if the value is non-empty and does
49213
+ * not match the XML `PubidLiteral` production (W3C DOM Parsing §3.2.1.3; XML 1.0 [12]).
49159
49214
  * @param {string} [systemId]
49215
+ * The external subset system identifier. Stored verbatim including surrounding quotes.
49216
+ * When serialized with `requireWellFormed: true`, throws `DOMException` with code
49217
+ * `INVALID_STATE_ERR` if the value is non-empty and does not match the XML `SystemLiteral`
49218
+ * production (W3C DOM Parsing §3.2.1.3; XML 1.0 [11]).
49160
49219
  * @returns {DocumentType} which can either be used with `DOMImplementation.createDocument` upon document creation
49161
49220
  * or can be put into the document via methods like `Node.insertBefore()` or `Node.replaceChild()`
49162
49221
  *
@@ -49222,18 +49281,44 @@ function requireDom () {
49222
49281
  return cloneNode(this.ownerDocument||this,this,deep);
49223
49282
  },
49224
49283
  // Modified in DOM Level 2:
49225
- normalize:function(){
49226
- var child = this.firstChild;
49227
- while(child){
49228
- var next = child.nextSibling;
49229
- if(next && next.nodeType == TEXT_NODE && child.nodeType == TEXT_NODE){
49230
- this.removeChild(next);
49231
- child.appendData(next.data);
49232
- }else {
49233
- child.normalize();
49234
- child = next;
49235
- }
49236
- }
49284
+ /**
49285
+ * Puts the specified node and all of its subtree into a "normalized" form. In a normalized
49286
+ * subtree, no text nodes in the subtree are empty and there are no adjacent text nodes.
49287
+ *
49288
+ * Specifically, this method merges any adjacent text nodes (i.e., nodes for which `nodeType`
49289
+ * is `TEXT_NODE`) into a single node with the combined data. It also removes any empty text
49290
+ * nodes.
49291
+ *
49292
+ * This method iteratively traverses all child nodes to normalize all descendant nodes within
49293
+ * the subtree.
49294
+ *
49295
+ * @throws {DOMException}
49296
+ * May throw a DOMException if operations within removeChild or appendData (which are
49297
+ * potentially invoked in this method) do not meet their specific constraints.
49298
+ * @see {@link Node.removeChild}
49299
+ * @see {@link CharacterData.appendData}
49300
+ * @see ../docs/walk-dom.md.
49301
+ */
49302
+ normalize: function () {
49303
+ walkDOM(this, null, {
49304
+ enter: function (node) {
49305
+ // Merge adjacent text children of node before walkDOM schedules them.
49306
+ // walkDOM reads lastChild/previousSibling after enter returns, so the
49307
+ // surviving post-merge children are what it descends into.
49308
+ var child = node.firstChild;
49309
+ while (child) {
49310
+ var next = child.nextSibling;
49311
+ if (next !== null && next.nodeType === TEXT_NODE && child.nodeType === TEXT_NODE) {
49312
+ node.removeChild(next);
49313
+ child.appendData(next.data);
49314
+ // Do not advance child: re-check new nextSibling for another text run
49315
+ } else {
49316
+ child = next;
49317
+ }
49318
+ }
49319
+ return true; // descend into surviving children
49320
+ },
49321
+ });
49237
49322
  },
49238
49323
  // Introduced in DOM Level 2:
49239
49324
  isSupported:function(feature, version){
@@ -49309,21 +49394,103 @@ function requireDom () {
49309
49394
  copy(NodeType,Node.prototype);
49310
49395
 
49311
49396
  /**
49312
- * @param callback return true for continue,false for break
49313
- * @return boolean true: break visit;
49397
+ * @param {Node} node
49398
+ * Root of the subtree to visit.
49399
+ * @param {function(Node): boolean} callback
49400
+ * Called for each node in depth-first pre-order. Return a truthy value to stop traversal early.
49401
+ * @return {boolean} `true` if traversal was aborted by the callback, `false` otherwise.
49314
49402
  */
49315
- function _visitNode(node,callback){
49316
- if(callback(node)){
49317
- return true;
49318
- }
49319
- if(node = node.firstChild){
49320
- do{
49321
- if(_visitNode(node,callback)){return true}
49322
- }while(node=node.nextSibling)
49323
- }
49403
+ function _visitNode(node, callback) {
49404
+ return walkDOM(node, null, { enter: function (n) { return callback(n) ? walkDOM.STOP : true; } }) === walkDOM.STOP;
49324
49405
  }
49325
49406
 
49407
+ /**
49408
+ * Depth-first pre/post-order DOM tree walker.
49409
+ *
49410
+ * Visits every node in the subtree rooted at `node`. For each node:
49411
+ *
49412
+ * 1. Calls `callbacks.enter(node, context)` before descending into the node's children. The
49413
+ * return value becomes the `context` passed to each child's `enter` call and to the matching
49414
+ * `exit` call.
49415
+ * 2. If `enter` returns `null` or `undefined`, the node's children are skipped;
49416
+ * sibling traversal continues normally.
49417
+ * 3. If `enter` returns `walkDOM.STOP`, the entire traversal is aborted immediately — no
49418
+ * further `enter` or `exit` calls are made.
49419
+ * 4. `lastChild` and `previousSibling` are read **after** `enter` returns, so `enter` may
49420
+ * safely modify the node's own child list before the walker descends. Modifying siblings of
49421
+ * the current node or any other part of the tree produces unpredictable results: nodes already
49422
+ * queued on the stack are visited regardless of DOM changes, and newly inserted nodes outside
49423
+ * the current child list are never visited.
49424
+ * 5. Calls `callbacks.exit(node, context)` (if provided) after all of a node's children have
49425
+ * been visited, passing the same `context` that `enter`
49426
+ * returned for that node.
49427
+ *
49428
+ * This implementation uses an explicit stack and does not recurse — it is safe on arbitrarily
49429
+ * deep trees.
49430
+ *
49431
+ * @param {Node} node
49432
+ * Root of the subtree to walk.
49433
+ * @param {*} context
49434
+ * Initial context value passed to the root node's `enter`.
49435
+ * @param {{ enter: function(Node, *): *, exit?: function(Node, *): void }} callbacks
49436
+ * @returns {void | walkDOM.STOP}
49437
+ * @see ../docs/walk-dom.md.
49438
+ */
49439
+ function walkDOM(node, context, callbacks) {
49440
+ // Each stack frame is {node, context, phase}:
49441
+ // walkDOM.ENTER — call enter, then push children
49442
+ // walkDOM.EXIT — call exit
49443
+ var stack = [{ node: node, context: context, phase: walkDOM.ENTER }];
49444
+ while (stack.length > 0) {
49445
+ var frame = stack.pop();
49446
+ if (frame.phase === walkDOM.ENTER) {
49447
+ var childContext = callbacks.enter(frame.node, frame.context);
49448
+ if (childContext === walkDOM.STOP) {
49449
+ return walkDOM.STOP;
49450
+ }
49451
+ // Push exit frame before children so it fires after all children are processed (Last In First Out)
49452
+ stack.push({ node: frame.node, context: childContext, phase: walkDOM.EXIT });
49453
+ if (childContext === null || childContext === undefined) {
49454
+ continue; // skip children
49455
+ }
49456
+ // lastChild is read after enter returns, so enter may modify the child list.
49457
+ var child = frame.node.lastChild;
49458
+ // Traverse from lastChild backwards so that pushing onto the stack
49459
+ // naturally yields firstChild on top (processed first).
49460
+ while (child) {
49461
+ stack.push({ node: child, context: childContext, phase: walkDOM.ENTER });
49462
+ child = child.previousSibling;
49463
+ }
49464
+ } else {
49465
+ // frame.phase === walkDOM.EXIT
49466
+ if (callbacks.exit) {
49467
+ callbacks.exit(frame.node, frame.context);
49468
+ }
49469
+ }
49470
+ }
49471
+ }
49326
49472
 
49473
+ /**
49474
+ * Sentinel value returned from a `walkDOM` `enter` callback to abort the entire traversal
49475
+ * immediately.
49476
+ *
49477
+ * @type {symbol}
49478
+ */
49479
+ walkDOM.STOP = Symbol('walkDOM.STOP');
49480
+ /**
49481
+ * Phase constant for a stack frame that has not yet been visited.
49482
+ * The `enter` callback is called and children are scheduled.
49483
+ *
49484
+ * @type {number}
49485
+ */
49486
+ walkDOM.ENTER = 0;
49487
+ /**
49488
+ * Phase constant for a stack frame whose subtree has been fully visited.
49489
+ * The `exit` callback is called.
49490
+ *
49491
+ * @type {number}
49492
+ */
49493
+ walkDOM.EXIT = 1;
49327
49494
 
49328
49495
  function Document(){
49329
49496
  this.ownerDocument = this;
@@ -49927,12 +50094,44 @@ function requireDom () {
49927
50094
  node.appendData(data);
49928
50095
  return node;
49929
50096
  },
50097
+ /**
50098
+ * Returns a new CDATASection node whose data is `data`.
50099
+ *
50100
+ * __This implementation differs from the specification:__
50101
+ * - calling this method on an HTML document does not throw `NotSupportedError`.
50102
+ *
50103
+ * @param {string} data
50104
+ * @returns {CDATASection}
50105
+ * @throws DOMException with code `INVALID_CHARACTER_ERR` if `data` contains `"]]>"`.
50106
+ * @see https://developer.mozilla.org/en-US/docs/Web/API/Document/createCDATASection
50107
+ * @see https://dom.spec.whatwg.org/#dom-document-createcdatasection
50108
+ */
49930
50109
  createCDATASection : function(data){
50110
+ if (data.indexOf(']]>') !== -1) {
50111
+ throw new DOMException(INVALID_CHARACTER_ERR, 'data contains "]]>"');
50112
+ }
49931
50113
  var node = new CDATASection();
49932
50114
  node.ownerDocument = this;
49933
50115
  node.appendData(data);
49934
50116
  return node;
49935
50117
  },
50118
+ /**
50119
+ * Returns a ProcessingInstruction node whose target is target and data is data.
50120
+ *
50121
+ * __This implementation differs from the specification:__
50122
+ * - it does not do any input validation on the arguments and doesn't throw "InvalidCharacterError".
50123
+ *
50124
+ * Note: When the resulting document is serialized with `requireWellFormed: true`, the
50125
+ * serializer throws with code `INVALID_STATE_ERR` if `.data` contains `?>` (W3C DOM Parsing
50126
+ * §3.2.1.7). Without that option the data is emitted verbatim.
50127
+ *
50128
+ * @param {string} target
50129
+ * @param {string} data
50130
+ * @returns {ProcessingInstruction}
50131
+ * @see https://developer.mozilla.org/docs/Web/API/Document/createProcessingInstruction
50132
+ * @see https://dom.spec.whatwg.org/#dom-document-createprocessinginstruction
50133
+ * @see https://www.w3.org/TR/DOM-Parsing/#dfn-concept-serialize-xml §3.2.1.7
50134
+ */
49936
50135
  createProcessingInstruction : function(target,data){
49937
50136
  var node = new ProcessingInstruction();
49938
50137
  node.ownerDocument = this;
@@ -50158,6 +50357,19 @@ function requireDom () {
50158
50357
  _extends(CDATASection,CharacterData);
50159
50358
 
50160
50359
 
50360
+ /**
50361
+ * Represents a DocumentType node (the `<!DOCTYPE ...>` declaration).
50362
+ *
50363
+ * `publicId`, `systemId`, and `internalSubset` are plain own-property assignments.
50364
+ * xmldom does not enforce the `readonly` constraint declared by the WHATWG DOM spec —
50365
+ * direct property writes succeed silently. Values are serialized verbatim when
50366
+ * `requireWellFormed` is false (the default). When the serializer is invoked with
50367
+ * `requireWellFormed: true` (via the 4th-parameter options object), it validates each
50368
+ * field and throws `DOMException` with code `INVALID_STATE_ERR` on invalid values.
50369
+ *
50370
+ * @class
50371
+ * @see https://developer.mozilla.org/en-US/docs/Web/API/DocumentType MDN
50372
+ */
50161
50373
  function DocumentType() {
50162
50374
  } DocumentType.prototype.nodeType = DOCUMENT_TYPE_NODE;
50163
50375
  _extends(DocumentType,Node);
@@ -50185,11 +50397,48 @@ function requireDom () {
50185
50397
  ProcessingInstruction.prototype.nodeType = PROCESSING_INSTRUCTION_NODE;
50186
50398
  _extends(ProcessingInstruction,Node);
50187
50399
  function XMLSerializer(){}
50188
- XMLSerializer.prototype.serializeToString = function(node,isHtml,nodeFilter){
50189
- return nodeSerializeToString.call(node,isHtml,nodeFilter);
50400
+ /**
50401
+ * Returns the result of serializing `node` to XML.
50402
+ *
50403
+ * When `options.requireWellFormed` is `true`, the serializer throws for content that would
50404
+ * produce ill-formed XML.
50405
+ *
50406
+ * __This implementation differs from the specification:__
50407
+ * - CDATASection nodes whose data contains `]]>` are serialized by splitting the section
50408
+ * at each `]]>` occurrence (following W3C DOM Level 3 Core `split-cdata-sections`
50409
+ * default behaviour) unless `requireWellFormed` is `true`.
50410
+ * - when `requireWellFormed` is `true`, `DOMException` with code `INVALID_STATE_ERR`
50411
+ * is only thrown to prevent injection vectors, not for all the spec mandated checks.
50412
+ *
50413
+ * @param {Node} node
50414
+ * @param {boolean} [isHtml]
50415
+ * @param {function} [nodeFilter]
50416
+ * @param {Object} [options]
50417
+ * @param {boolean} [options.requireWellFormed=false]
50418
+ * When `true`, throws for content that would produce ill-formed XML.
50419
+ * @returns {string}
50420
+ * @throws {DOMException}
50421
+ * With code `INVALID_STATE_ERR` when `requireWellFormed` is `true` and:
50422
+ * - a CDATASection node's data contains `"]]>"`,
50423
+ * - a Comment node's data contains `"-->"` (bare `"--"` does not throw on this branch),
50424
+ * - a ProcessingInstruction's data contains `"?>"`,
50425
+ * - a DocumentType's `publicId` is non-empty and does not match the XML `PubidLiteral`
50426
+ * production,
50427
+ * - a DocumentType's `systemId` is non-empty and does not match the XML `SystemLiteral`
50428
+ * production, or
50429
+ * - a DocumentType's `internalSubset` contains `"]>"`.
50430
+ * Note: xmldom does not enforce `readonly` on DocumentType fields — direct property
50431
+ * writes succeed and are covered by the serializer-level checks above.
50432
+ * @see https://html.spec.whatwg.org/#dom-xmlserializer-serializetostring
50433
+ * @see https://w3c.github.io/DOM-Parsing/#xml-serialization
50434
+ * @see https://github.com/w3c/DOM-Parsing/issues/84
50435
+ */
50436
+ XMLSerializer.prototype.serializeToString = function(node,isHtml,nodeFilter,options){
50437
+ return nodeSerializeToString.call(node,isHtml,nodeFilter,options);
50190
50438
  };
50191
50439
  Node.prototype.toString = nodeSerializeToString;
50192
- function nodeSerializeToString(isHtml,nodeFilter){
50440
+ function nodeSerializeToString(isHtml,nodeFilter,options){
50441
+ var requireWellFormed = !!options && !!options.requireWellFormed;
50193
50442
  var buf = [];
50194
50443
  var refNode = this.nodeType == 9 && this.documentElement || this;
50195
50444
  var prefix = refNode.prefix;
@@ -50206,7 +50455,7 @@ function requireDom () {
50206
50455
  ];
50207
50456
  }
50208
50457
  }
50209
- serializeToString(this,buf,isHtml,nodeFilter,visibleNamespaces);
50458
+ serializeToString(this,buf,isHtml,nodeFilter,visibleNamespaces,requireWellFormed);
50210
50459
  //console.log('###',this.nodeType,uri,prefix,buf.join(''))
50211
50460
  return buf.join('');
50212
50461
  }
@@ -50255,271 +50504,323 @@ function requireDom () {
50255
50504
  buf.push(' ', qualifiedName, '="', value.replace(/[<>&"\t\n\r]/g, _xmlEncoder), '"');
50256
50505
  }
50257
50506
 
50258
- function serializeToString(node,buf,isHTML,nodeFilter,visibleNamespaces){
50507
+ function serializeToString(node, buf, isHTML, nodeFilter, visibleNamespaces, requireWellFormed) {
50259
50508
  if (!visibleNamespaces) {
50260
50509
  visibleNamespaces = [];
50261
50510
  }
50262
-
50263
- if(nodeFilter){
50264
- node = nodeFilter(node);
50265
- if(node){
50266
- if(typeof node == 'string'){
50267
- buf.push(node);
50268
- return;
50269
- }
50270
- }else {
50271
- return;
50272
- }
50273
- //buf.sort.apply(attrs, attributeSorter);
50274
- }
50275
-
50276
- switch(node.nodeType){
50277
- case ELEMENT_NODE:
50278
- var attrs = node.attributes;
50279
- var len = attrs.length;
50280
- var child = node.firstChild;
50281
- var nodeName = node.tagName;
50282
-
50283
- isHTML = NAMESPACE.isHTML(node.namespaceURI) || isHTML;
50284
-
50285
- var prefixedNodeName = nodeName;
50286
- if (!isHTML && !node.prefix && node.namespaceURI) {
50287
- var defaultNS;
50288
- // lookup current default ns from `xmlns` attribute
50289
- for (var ai = 0; ai < attrs.length; ai++) {
50290
- if (attrs.item(ai).name === 'xmlns') {
50291
- defaultNS = attrs.item(ai).value;
50292
- break
50293
- }
50294
- }
50295
- if (!defaultNS) {
50296
- // lookup current default ns in visibleNamespaces
50297
- for (var nsi = visibleNamespaces.length - 1; nsi >= 0; nsi--) {
50298
- var namespace = visibleNamespaces[nsi];
50299
- if (namespace.prefix === '' && namespace.namespace === node.namespaceURI) {
50300
- defaultNS = namespace.namespace;
50301
- break
50511
+ walkDOM(node, { ns: visibleNamespaces, isHTML: isHTML }, {
50512
+ enter: function (n, ctx) {
50513
+ var ns = ctx.ns;
50514
+ var html = ctx.isHTML;
50515
+
50516
+ if (nodeFilter) {
50517
+ n = nodeFilter(n);
50518
+ if (n) {
50519
+ if (typeof n == 'string') {
50520
+ buf.push(n);
50521
+ return null;
50302
50522
  }
50523
+ } else {
50524
+ return null;
50303
50525
  }
50304
50526
  }
50305
- if (defaultNS !== node.namespaceURI) {
50306
- for (var nsi = visibleNamespaces.length - 1; nsi >= 0; nsi--) {
50307
- var namespace = visibleNamespaces[nsi];
50308
- if (namespace.namespace === node.namespaceURI) {
50309
- if (namespace.prefix) {
50310
- prefixedNodeName = namespace.prefix + ':' + nodeName;
50527
+
50528
+ switch (n.nodeType) {
50529
+ case ELEMENT_NODE:
50530
+ var attrs = n.attributes;
50531
+ var len = attrs.length;
50532
+ var nodeName = n.tagName;
50533
+
50534
+ html = NAMESPACE.isHTML(n.namespaceURI) || html;
50535
+
50536
+ var prefixedNodeName = nodeName;
50537
+ if (!html && !n.prefix && n.namespaceURI) {
50538
+ var defaultNS;
50539
+ // lookup current default ns from `xmlns` attribute
50540
+ for (var ai = 0; ai < attrs.length; ai++) {
50541
+ if (attrs.item(ai).name === 'xmlns') {
50542
+ defaultNS = attrs.item(ai).value;
50543
+ break;
50544
+ }
50545
+ }
50546
+ if (!defaultNS) {
50547
+ // lookup current default ns in visibleNamespaces
50548
+ for (var nsi = ns.length - 1; nsi >= 0; nsi--) {
50549
+ var nsEntry = ns[nsi];
50550
+ if (nsEntry.prefix === '' && nsEntry.namespace === n.namespaceURI) {
50551
+ defaultNS = nsEntry.namespace;
50552
+ break;
50553
+ }
50554
+ }
50555
+ }
50556
+ if (defaultNS !== n.namespaceURI) {
50557
+ for (var nsi = ns.length - 1; nsi >= 0; nsi--) {
50558
+ var nsEntry = ns[nsi];
50559
+ if (nsEntry.namespace === n.namespaceURI) {
50560
+ if (nsEntry.prefix) {
50561
+ prefixedNodeName = nsEntry.prefix + ':' + nodeName;
50562
+ }
50563
+ break;
50564
+ }
50565
+ }
50311
50566
  }
50312
- break
50313
50567
  }
50314
- }
50315
- }
50316
- }
50317
50568
 
50318
- buf.push('<', prefixedNodeName);
50569
+ buf.push('<', prefixedNodeName);
50570
+
50571
+ // Build a fresh namespace snapshot for this element's children.
50572
+ // The slice prevents sibling elements from inheriting each other's declarations.
50573
+ var childNs = ns.slice();
50574
+ for (var i = 0; i < len; i++) {
50575
+ var attr = attrs.item(i);
50576
+ if (attr.prefix == 'xmlns') {
50577
+ childNs.push({ prefix: attr.localName, namespace: attr.value });
50578
+ } else if (attr.nodeName == 'xmlns') {
50579
+ childNs.push({ prefix: '', namespace: attr.value });
50580
+ }
50581
+ }
50319
50582
 
50320
- for(var i=0;i<len;i++){
50321
- // add namespaces for attributes
50322
- var attr = attrs.item(i);
50323
- if (attr.prefix == 'xmlns') {
50324
- visibleNamespaces.push({ prefix: attr.localName, namespace: attr.value });
50325
- }else if(attr.nodeName == 'xmlns'){
50326
- visibleNamespaces.push({ prefix: '', namespace: attr.value });
50327
- }
50328
- }
50583
+ for (var i = 0; i < len; i++) {
50584
+ var attr = attrs.item(i);
50585
+ if (needNamespaceDefine(attr, html, childNs)) {
50586
+ var attrPrefix = attr.prefix || '';
50587
+ var uri = attr.namespaceURI;
50588
+ addSerializedAttribute(buf, attrPrefix ? 'xmlns:' + attrPrefix : 'xmlns', uri);
50589
+ childNs.push({ prefix: attrPrefix, namespace: uri });
50590
+ }
50591
+ // Apply nodeFilter and serialize the attribute.
50592
+ var filteredAttr = nodeFilter ? nodeFilter(attr) : attr;
50593
+ if (filteredAttr) {
50594
+ if (typeof filteredAttr === 'string') {
50595
+ buf.push(filteredAttr);
50596
+ } else {
50597
+ addSerializedAttribute(buf, filteredAttr.name, filteredAttr.value);
50598
+ }
50599
+ }
50600
+ }
50329
50601
 
50330
- for(var i=0;i<len;i++){
50331
- var attr = attrs.item(i);
50332
- if (needNamespaceDefine(attr,isHTML, visibleNamespaces)) {
50333
- var prefix = attr.prefix||'';
50334
- var uri = attr.namespaceURI;
50335
- addSerializedAttribute(buf, prefix ? 'xmlns:' + prefix : "xmlns", uri);
50336
- visibleNamespaces.push({ prefix: prefix, namespace:uri });
50337
- }
50338
- serializeToString(attr,buf,isHTML,nodeFilter,visibleNamespaces);
50339
- }
50602
+ // add namespace for current node
50603
+ if (nodeName === prefixedNodeName && needNamespaceDefine(n, html, childNs)) {
50604
+ var nodePrefix = n.prefix || '';
50605
+ var uri = n.namespaceURI;
50606
+ addSerializedAttribute(buf, nodePrefix ? 'xmlns:' + nodePrefix : 'xmlns', uri);
50607
+ childNs.push({ prefix: nodePrefix, namespace: uri });
50608
+ }
50340
50609
 
50341
- // add namespace for current node
50342
- if (nodeName === prefixedNodeName && needNamespaceDefine(node, isHTML, visibleNamespaces)) {
50343
- var prefix = node.prefix||'';
50344
- var uri = node.namespaceURI;
50345
- addSerializedAttribute(buf, prefix ? 'xmlns:' + prefix : "xmlns", uri);
50346
- visibleNamespaces.push({ prefix: prefix, namespace:uri });
50347
- }
50610
+ var child = n.firstChild;
50611
+ if (child || html && !/^(?:meta|link|img|br|hr|input)$/i.test(nodeName)) {
50612
+ buf.push('>');
50613
+ if (html && /^script$/i.test(nodeName)) {
50614
+ // Inline serialization for <script> children; return null to skip walkDOM descent.
50615
+ while (child) {
50616
+ if (child.data) {
50617
+ buf.push(child.data);
50618
+ } else {
50619
+ serializeToString(child, buf, html, nodeFilter, childNs.slice(), requireWellFormed);
50620
+ }
50621
+ child = child.nextSibling;
50622
+ }
50623
+ buf.push('</', nodeName, '>');
50624
+ return null;
50625
+ }
50626
+ // Return child context; walkDOM descends and exit emits the closing tag.
50627
+ return { ns: childNs, isHTML: html, tag: prefixedNodeName };
50628
+ } else {
50629
+ buf.push('/>');
50630
+ return null;
50631
+ }
50348
50632
 
50349
- if(child || isHTML && !/^(?:meta|link|img|br|hr|input)$/i.test(nodeName)){
50350
- buf.push('>');
50351
- //if is cdata child node
50352
- if(isHTML && /^script$/i.test(nodeName)){
50353
- while(child){
50354
- if(child.data){
50355
- buf.push(child.data);
50356
- }else {
50357
- serializeToString(child, buf, isHTML, nodeFilter, visibleNamespaces.slice());
50633
+ case DOCUMENT_NODE:
50634
+ case DOCUMENT_FRAGMENT_NODE:
50635
+ // Descend into children; exit is a no-op (tag is null).
50636
+ return { ns: ns.slice(), isHTML: html, tag: null };
50637
+
50638
+ case ATTRIBUTE_NODE:
50639
+ addSerializedAttribute(buf, n.name, n.value);
50640
+ return null;
50641
+
50642
+ case TEXT_NODE:
50643
+ /**
50644
+ * The ampersand character (&) and the left angle bracket (<) must not appear in their literal form,
50645
+ * except when used as markup delimiters, or within a comment, a processing instruction, or a CDATA section.
50646
+ * If they are needed elsewhere, they must be escaped using either numeric character references or the strings
50647
+ * `&amp;` and `&lt;` respectively.
50648
+ * The right angle bracket (>) may be represented using the string " &gt; ", and must, for compatibility,
50649
+ * be escaped using either `&gt;` or a character reference when it appears in the string `]]>` in content,
50650
+ * when that string is not marking the end of a CDATA section.
50651
+ *
50652
+ * In the content of elements, character data is any string of characters
50653
+ * which does not contain the start-delimiter of any markup
50654
+ * and does not include the CDATA-section-close delimiter, `]]>`.
50655
+ *
50656
+ * @see https://www.w3.org/TR/xml/#NT-CharData
50657
+ * @see https://w3c.github.io/DOM-Parsing/#xml-serializing-a-text-node
50658
+ */
50659
+ buf.push(n.data.replace(/[<&>]/g, _xmlEncoder));
50660
+ return null;
50661
+
50662
+ case CDATA_SECTION_NODE:
50663
+ if (requireWellFormed && n.data.indexOf(']]>') !== -1) {
50664
+ throw new DOMException(INVALID_STATE_ERR, 'The CDATASection data contains "]]>"');
50358
50665
  }
50359
- child = child.nextSibling;
50360
- }
50361
- }else
50362
- {
50363
- while(child){
50364
- serializeToString(child, buf, isHTML, nodeFilter, visibleNamespaces.slice());
50365
- child = child.nextSibling;
50366
- }
50367
- }
50368
- buf.push('</',prefixedNodeName,'>');
50369
- }else {
50370
- buf.push('/>');
50371
- }
50372
- // remove added visible namespaces
50373
- //visibleNamespaces.length = startVisibleNamespaces;
50374
- return;
50375
- case DOCUMENT_NODE:
50376
- case DOCUMENT_FRAGMENT_NODE:
50377
- var child = node.firstChild;
50378
- while(child){
50379
- serializeToString(child, buf, isHTML, nodeFilter, visibleNamespaces.slice());
50380
- child = child.nextSibling;
50381
- }
50382
- return;
50383
- case ATTRIBUTE_NODE:
50384
- return addSerializedAttribute(buf, node.name, node.value);
50385
- case TEXT_NODE:
50386
- /**
50387
- * The ampersand character (&) and the left angle bracket (<) must not appear in their literal form,
50388
- * except when used as markup delimiters, or within a comment, a processing instruction, or a CDATA section.
50389
- * If they are needed elsewhere, they must be escaped using either numeric character references or the strings
50390
- * `&amp;` and `&lt;` respectively.
50391
- * The right angle bracket (>) may be represented using the string " &gt; ", and must, for compatibility,
50392
- * be escaped using either `&gt;` or a character reference when it appears in the string `]]>` in content,
50393
- * when that string is not marking the end of a CDATA section.
50394
- *
50395
- * In the content of elements, character data is any string of characters
50396
- * which does not contain the start-delimiter of any markup
50397
- * and does not include the CDATA-section-close delimiter, `]]>`.
50398
- *
50399
- * @see https://www.w3.org/TR/xml/#NT-CharData
50400
- * @see https://w3c.github.io/DOM-Parsing/#xml-serializing-a-text-node
50401
- */
50402
- return buf.push(node.data
50403
- .replace(/[<&>]/g,_xmlEncoder)
50404
- );
50405
- case CDATA_SECTION_NODE:
50406
- return buf.push( '<![CDATA[',node.data,']]>');
50407
- case COMMENT_NODE:
50408
- return buf.push( "<!--",node.data,"-->");
50409
- case DOCUMENT_TYPE_NODE:
50410
- var pubid = node.publicId;
50411
- var sysid = node.systemId;
50412
- buf.push('<!DOCTYPE ',node.name);
50413
- if(pubid){
50414
- buf.push(' PUBLIC ', pubid);
50415
- if (sysid && sysid!='.') {
50416
- buf.push(' ', sysid);
50666
+ buf.push('<![CDATA[', n.data.replace(/]]>/g, ']]]]><![CDATA[>'), ']]>');
50667
+ return null;
50668
+
50669
+ case COMMENT_NODE:
50670
+ if (requireWellFormed && n.data.indexOf('-->') !== -1) {
50671
+ throw new DOMException(INVALID_STATE_ERR, 'The comment node data contains "-->"');
50672
+ }
50673
+ buf.push('<!--', n.data, '-->');
50674
+ return null;
50675
+
50676
+ case DOCUMENT_TYPE_NODE:
50677
+ if (requireWellFormed) {
50678
+ if (n.publicId && !/^("[\x20\r\na-zA-Z0-9\-()+,.\/:=?;!*#@$_%']*"|'[\x20\r\na-zA-Z0-9\-()+,.\/:=?;!*#@$_%'"]*')$/.test(n.publicId)) {
50679
+ throw new DOMException(INVALID_STATE_ERR, 'DocumentType publicId is not a valid PubidLiteral');
50680
+ }
50681
+ if (n.systemId && !/^("[^"]*"|'[^']*')$/.test(n.systemId)) {
50682
+ throw new DOMException(INVALID_STATE_ERR, 'DocumentType systemId is not a valid SystemLiteral');
50683
+ }
50684
+ if (n.internalSubset && n.internalSubset.indexOf(']>') !== -1) {
50685
+ throw new DOMException(INVALID_STATE_ERR, 'DocumentType internalSubset contains "]>"');
50686
+ }
50687
+ }
50688
+ var pubid = n.publicId;
50689
+ var sysid = n.systemId;
50690
+ buf.push('<!DOCTYPE ', n.name);
50691
+ if (pubid) {
50692
+ buf.push(' PUBLIC ', pubid);
50693
+ if (sysid && sysid != '.') {
50694
+ buf.push(' ', sysid);
50695
+ }
50696
+ buf.push('>');
50697
+ } else if (sysid && sysid != '.') {
50698
+ buf.push(' SYSTEM ', sysid, '>');
50699
+ } else {
50700
+ var sub = n.internalSubset;
50701
+ if (sub) {
50702
+ buf.push(' [', sub, ']');
50703
+ }
50704
+ buf.push('>');
50705
+ }
50706
+ return null;
50707
+
50708
+ case PROCESSING_INSTRUCTION_NODE:
50709
+ if (requireWellFormed && n.data.indexOf('?>') !== -1) {
50710
+ throw new DOMException(INVALID_STATE_ERR, 'The ProcessingInstruction data contains "?>"');
50711
+ }
50712
+ buf.push('<?', n.target, ' ', n.data, '?>');
50713
+ return null;
50714
+
50715
+ case ENTITY_REFERENCE_NODE:
50716
+ buf.push('&', n.nodeName, ';');
50717
+ return null;
50718
+
50719
+ //case ENTITY_NODE:
50720
+ //case NOTATION_NODE:
50721
+ default:
50722
+ buf.push('??', n.nodeName);
50723
+ return null;
50417
50724
  }
50418
- buf.push('>');
50419
- }else if(sysid && sysid!='.'){
50420
- buf.push(' SYSTEM ', sysid, '>');
50421
- }else {
50422
- var sub = node.internalSubset;
50423
- if(sub){
50424
- buf.push(" [",sub,"]");
50725
+ },
50726
+ exit: function (n, childCtx) {
50727
+ if (childCtx && childCtx.tag) {
50728
+ buf.push('</', childCtx.tag, '>');
50425
50729
  }
50426
- buf.push(">");
50427
- }
50428
- return;
50429
- case PROCESSING_INSTRUCTION_NODE:
50430
- return buf.push( "<?",node.target," ",node.data,"?>");
50431
- case ENTITY_REFERENCE_NODE:
50432
- return buf.push( '&',node.nodeName,';');
50433
- //case ENTITY_NODE:
50434
- //case NOTATION_NODE:
50435
- default:
50436
- buf.push('??',node.nodeName);
50437
- }
50730
+ },
50731
+ });
50438
50732
  }
50439
- function importNode(doc,node,deep){
50440
- var node2;
50441
- switch (node.nodeType) {
50442
- case ELEMENT_NODE:
50443
- node2 = node.cloneNode(false);
50444
- node2.ownerDocument = doc;
50445
- //var attrs = node2.attributes;
50446
- //var len = attrs.length;
50447
- //for(var i=0;i<len;i++){
50448
- //node2.setAttributeNodeNS(importNode(doc,attrs.item(i),deep));
50449
- //}
50450
- case DOCUMENT_FRAGMENT_NODE:
50451
- break;
50452
- case ATTRIBUTE_NODE:
50453
- deep = true;
50454
- break;
50455
- //case ENTITY_REFERENCE_NODE:
50456
- //case PROCESSING_INSTRUCTION_NODE:
50457
- ////case TEXT_NODE:
50458
- //case CDATA_SECTION_NODE:
50459
- //case COMMENT_NODE:
50460
- // deep = false;
50461
- // break;
50462
- //case DOCUMENT_NODE:
50463
- //case DOCUMENT_TYPE_NODE:
50464
- //cannot be imported.
50465
- //case ENTITY_NODE:
50466
- //case NOTATION_NODE:
50467
- //can not hit in level3
50468
- //default:throw e;
50469
- }
50470
- if(!node2){
50471
- node2 = node.cloneNode(false);//false
50472
- }
50473
- node2.ownerDocument = doc;
50474
- node2.parentNode = null;
50475
- if(deep){
50476
- var child = node.firstChild;
50477
- while(child){
50478
- node2.appendChild(importNode(doc,child,deep));
50479
- child = child.nextSibling;
50480
- }
50481
- }
50482
- return node2;
50733
+ /**
50734
+ * Imports a node from a different document into `doc`, creating a new copy.
50735
+ * Delegates to {@link walkDOM} for traversal. Each node in the subtree is shallow-cloned,
50736
+ * stamped with `doc` as its `ownerDocument`, and detached (`parentNode` set to `null`).
50737
+ * Children are imported recursively when `deep` is `true`; for {@link Attr} nodes `deep` is
50738
+ * always forced to `true`
50739
+ * because an attribute's value lives in a child text node.
50740
+ *
50741
+ * @param {Document} doc
50742
+ * The document that will own the imported node.
50743
+ * @param {Node} node
50744
+ * The node to import.
50745
+ * @param {boolean} deep
50746
+ * If `true`, descendants are imported recursively.
50747
+ * @returns {Node}
50748
+ * The newly imported node, now owned by `doc`.
50749
+ */
50750
+ function importNode(doc, node, deep) {
50751
+ var destRoot;
50752
+ walkDOM(node, null, {
50753
+ enter: function (srcNode, destParent) {
50754
+ // Shallow-clone the node and stamp it into the target document.
50755
+ var destNode = srcNode.cloneNode(false);
50756
+ destNode.ownerDocument = doc;
50757
+ destNode.parentNode = null;
50758
+ // capture as the root of the imported subtree or attach to parent.
50759
+ if (destParent === null) {
50760
+ destRoot = destNode;
50761
+ } else {
50762
+ destParent.appendChild(destNode);
50763
+ }
50764
+ // ATTRIBUTE_NODE must always be imported deeply: its value lives in a child text node.
50765
+ var shouldDeep = srcNode.nodeType === ATTRIBUTE_NODE || deep;
50766
+ return shouldDeep ? destNode : null;
50767
+ },
50768
+ });
50769
+ return destRoot;
50483
50770
  }
50484
50771
  //
50485
50772
  //var _relationMap = {firstChild:1,lastChild:1,previousSibling:1,nextSibling:1,
50486
50773
  // attributes:1,childNodes:1,parentNode:1,documentElement:1,doctype,};
50487
- function cloneNode(doc,node,deep){
50488
- var node2 = new node.constructor();
50489
- for (var n in node) {
50490
- if (Object.prototype.hasOwnProperty.call(node, n)) {
50491
- var v = node[n];
50492
- if (typeof v != "object") {
50493
- if (v != node2[n]) {
50494
- node2[n] = v;
50774
+ function cloneNode(doc, node, deep) {
50775
+ var destRoot;
50776
+ walkDOM(node, null, {
50777
+ enter: function (srcNode, destParent) {
50778
+ // 1. Create a blank node of the same type and copy all scalar own properties.
50779
+ var destNode = new srcNode.constructor();
50780
+ for (var n in srcNode) {
50781
+ if (Object.prototype.hasOwnProperty.call(srcNode, n)) {
50782
+ var v = srcNode[n];
50783
+ if (typeof v != 'object') {
50784
+ if (v != destNode[n]) {
50785
+ destNode[n] = v;
50786
+ }
50787
+ }
50495
50788
  }
50496
50789
  }
50497
- }
50498
- }
50499
- if(node.childNodes){
50500
- node2.childNodes = new NodeList();
50501
- }
50502
- node2.ownerDocument = doc;
50503
- switch (node2.nodeType) {
50504
- case ELEMENT_NODE:
50505
- var attrs = node.attributes;
50506
- var attrs2 = node2.attributes = new NamedNodeMap();
50507
- var len = attrs.length;
50508
- attrs2._ownerElement = node2;
50509
- for(var i=0;i<len;i++){
50510
- node2.setAttributeNode(cloneNode(doc,attrs.item(i),true));
50511
- }
50512
- break; case ATTRIBUTE_NODE:
50513
- deep = true;
50514
- }
50515
- if(deep){
50516
- var child = node.firstChild;
50517
- while(child){
50518
- node2.appendChild(cloneNode(doc,child,deep));
50519
- child = child.nextSibling;
50520
- }
50521
- }
50522
- return node2;
50790
+ if (srcNode.childNodes) {
50791
+ destNode.childNodes = new NodeList();
50792
+ }
50793
+ destNode.ownerDocument = doc;
50794
+ // 2. Handle node-type-specific setup.
50795
+ // Attributes are not DOM children, so they are cloned inline here
50796
+ // rather than by walkDOM descent.
50797
+ // ATTRIBUTE_NODE forces deep=true so its own children are walked.
50798
+ var shouldDeep = deep;
50799
+ switch (destNode.nodeType) {
50800
+ case ELEMENT_NODE:
50801
+ var attrs = srcNode.attributes;
50802
+ var attrs2 = (destNode.attributes = new NamedNodeMap());
50803
+ var len = attrs.length;
50804
+ attrs2._ownerElement = destNode;
50805
+ for (var i = 0; i < len; i++) {
50806
+ destNode.setAttributeNode(cloneNode(doc, attrs.item(i), true));
50807
+ }
50808
+ break;
50809
+ case ATTRIBUTE_NODE:
50810
+ shouldDeep = true;
50811
+ }
50812
+ // 3. Attach to parent, or capture as the root of the cloned subtree.
50813
+ if (destParent !== null) {
50814
+ destParent.appendChild(destNode);
50815
+ } else {
50816
+ destRoot = destNode;
50817
+ }
50818
+ // 4. Return destNode as the context for children (causes walkDOM to descend),
50819
+ // or null to skip children (shallow clone).
50820
+ return shouldDeep ? destNode : null;
50821
+ },
50822
+ });
50823
+ return destRoot;
50523
50824
  }
50524
50825
 
50525
50826
  function __set__(object,key,value){
@@ -50535,49 +50836,55 @@ function requireDom () {
50535
50836
  }
50536
50837
  });
50537
50838
 
50538
- Object.defineProperty(Node.prototype,'textContent',{
50539
- get:function(){
50540
- return getTextContent(this);
50839
+ /**
50840
+ * The text content of this node and its descendants.
50841
+ *
50842
+ * Setting `textContent` on an element or document fragment replaces all child nodes with a
50843
+ * single text node; on other nodes it sets `data`, `value`, and `nodeValue` directly.
50844
+ *
50845
+ * @type {string | null}
50846
+ * @see {@link https://dom.spec.whatwg.org/#dom-node-textcontent}
50847
+ */
50848
+ Object.defineProperty(Node.prototype, 'textContent', {
50849
+ get: function () {
50850
+ if (this.nodeType === ELEMENT_NODE || this.nodeType === DOCUMENT_FRAGMENT_NODE) {
50851
+ var buf = [];
50852
+ walkDOM(this, null, {
50853
+ enter: function (n) {
50854
+ if (n.nodeType === ELEMENT_NODE || n.nodeType === DOCUMENT_FRAGMENT_NODE) {
50855
+ return true; // enter children
50856
+ }
50857
+ if (n.nodeType === PROCESSING_INSTRUCTION_NODE || n.nodeType === COMMENT_NODE) {
50858
+ return null; // excluded from text content
50859
+ }
50860
+ buf.push(n.nodeValue);
50861
+ },
50862
+ });
50863
+ return buf.join('');
50864
+ }
50865
+ return this.nodeValue;
50541
50866
  },
50542
50867
 
50543
- set:function(data){
50544
- switch(this.nodeType){
50545
- case ELEMENT_NODE:
50546
- case DOCUMENT_FRAGMENT_NODE:
50547
- while(this.firstChild){
50548
- this.removeChild(this.firstChild);
50549
- }
50550
- if(data || String(data)){
50551
- this.appendChild(this.ownerDocument.createTextNode(data));
50552
- }
50553
- break;
50868
+ set: function (data) {
50869
+ switch (this.nodeType) {
50870
+ case ELEMENT_NODE:
50871
+ case DOCUMENT_FRAGMENT_NODE:
50872
+ while (this.firstChild) {
50873
+ this.removeChild(this.firstChild);
50874
+ }
50875
+ if (data || String(data)) {
50876
+ this.appendChild(this.ownerDocument.createTextNode(data));
50877
+ }
50878
+ break;
50554
50879
 
50555
- default:
50556
- this.data = data;
50557
- this.value = data;
50558
- this.nodeValue = data;
50880
+ default:
50881
+ this.data = data;
50882
+ this.value = data;
50883
+ this.nodeValue = data;
50559
50884
  }
50560
- }
50885
+ },
50561
50886
  });
50562
50887
 
50563
- function getTextContent(node){
50564
- switch(node.nodeType){
50565
- case ELEMENT_NODE:
50566
- case DOCUMENT_FRAGMENT_NODE:
50567
- var buf = [];
50568
- node = node.firstChild;
50569
- while(node){
50570
- if(node.nodeType!==7 && node.nodeType !==8){
50571
- buf.push(getTextContent(node));
50572
- }
50573
- node = node.nextSibling;
50574
- }
50575
- return buf.join('');
50576
- default:
50577
- return node.nodeValue;
50578
- }
50579
- }
50580
-
50581
50888
  __set__ = function(object,key,value){
50582
50889
  //console.log(value)
50583
50890
  object['$$'+key] = value;
@@ -50593,6 +50900,7 @@ function requireDom () {
50593
50900
  dom.Element = Element;
50594
50901
  dom.Node = Node;
50595
50902
  dom.NodeList = NodeList;
50903
+ dom.walkDOM = walkDOM;
50596
50904
  dom.XMLSerializer = XMLSerializer;
50597
50905
  //}
50598
50906
  return dom;
@@ -53383,7 +53691,7 @@ function requireSax () {
53383
53691
  function parseInstruction(source,start,domBuilder){
53384
53692
  var end = source.indexOf('?>',start);
53385
53693
  if(end){
53386
- var match = source.substring(start,end).match(/^<\?(\S*)\s*([\s\S]*?)\s*$/);
53694
+ var match = source.substring(start,end).match(/^<\?(\S*)\s*([\s\S]*?)$/);
53387
53695
  if(match){
53388
53696
  match[0].length;
53389
53697
  domBuilder.processingInstruction(match[1], match[2]) ;
@@ -114855,11 +115163,13 @@ register('wm-repeat-template', () => {
114855
115163
  const widgetRef = (parentAccordion && parentAccordion.get('accordion_ref')) || (parentTab && parentTab.get('tabs_ref')) || (parentWizard && parentWizard.get('wizard_ref'));
114856
115164
  if (widgetRef) {
114857
115165
  return `@if(${widgetRef}.fieldDefs && !${widgetRef}.fieldDefs.length){<div>{{${widgetRef}.nodatamessage}}</div>}
114858
- <${dynamicTemplateTagName} wmRepeatTemplate #repeatItemRef="repeatItemRef" ${getAttrMarkup(attrs)} *ngFor="let item of ${widgetRef}.fieldDefs; let i = index;">
115166
+ @for (item of ${widgetRef}.fieldDefs; track item; let i = $index) {
115167
+ <${dynamicTemplateTagName} wmRepeatTemplate #repeatItemRef="repeatItemRef" ${getAttrMarkup(attrs)}>
114859
115168
  <ng-container [ngTemplateOutlet]="widgetRef${counter}"
114860
115169
  [ngTemplateOutletContext]="{item:item, index:i}"
114861
115170
  [ngTemplateOutletInjector]="${widgetRef}.createCustomInjector('dynamic_pane_' + repeatItemRef.trackId, {item:item, index:i})"></ng-container>
114862
115171
  </${dynamicTemplateTagName}>
115172
+ }
114863
115173
  <ng-template #widgetRef${counter++} let-item="item" let-index="index">`;
114864
115174
  }
114865
115175
  },
@@ -115555,11 +115865,13 @@ const buildTask = (directiveAttr = '') => {
115555
115865
  tabindex.bind="btn.tabindex" [class.hidden]="btn.updateMode ? !${counter}.isUpdateMode : ${counter}.isUpdateMode"></button>
115556
115866
  </ng-template>`;
115557
115867
  mobileFormContentTmpl = `<header wmMobileNavbar name="${name}" ${getAttrMarkup(navbarAttrsMap)}>
115558
- <ng-container *ngFor="let btn of ${counter}.buttonArray; let i = index"
115868
+ @for (btn of ${counter}.buttonArray; track btn; let i = $index) {
115869
+ <ng-container
115559
115870
  [ngTemplateOutlet]="buttonRef"
115560
115871
  [ngTemplateOutletContext]="{btn:btn}"
115561
115872
  [ngTemplateOutletInjector]="${counter}.createCustomInjector('mobile_' + i, {item:item, index:i})">
115562
115873
  </ng-container>
115874
+ }
115563
115875
  </header>
115564
115876
  <div class="form-elements panel-body" >`;
115565
115877
  }
@@ -116242,10 +116554,6 @@ const findChild = (node, childName) => {
116242
116554
  const createElement$4 = name => {
116243
116555
  return new Element$2(name, [], [], noSpan$4, noSpan$4, noSpan$4);
116244
116556
  };
116245
- const addAtrribute$4 = (node, name, value) => {
116246
- const attr = new Attribute$2(name, value, noSpan$4, noSpan$4, noSpan$4, undefined, undefined);
116247
- node.attrs.push(attr);
116248
- };
116249
116557
  const getElementNode = (name, node) => {
116250
116558
  let elementNode;
116251
116559
  if (!node) {
@@ -116275,9 +116583,12 @@ register('wm-page', () => {
116275
116583
  }
116276
116584
  if (pageContentNode) {
116277
116585
  const conditionalNode = createElement$4('ng-container');
116278
- addAtrribute$4(conditionalNode, '*ngIf', 'compilePageContent');
116586
+ const ifOpenText = new Text$1('@if (compilePageContent) {', null, undefined, undefined);
116587
+ conditionalNode.children.push(ifOpenText);
116279
116588
  conditionalNode.children = conditionalNode.children.concat(pageContentNode.children);
116280
116589
  conditionalNode.children.push(new Text$1('{{onPageContentReady()}}', null, undefined, undefined));
116590
+ const ifCloseText = new Text$1('}', null, undefined, undefined);
116591
+ conditionalNode.children.push(ifCloseText);
116281
116592
  pageContentNode.children = [conditionalNode];
116282
116593
  }
116283
116594
  },
@@ -116445,10 +116756,6 @@ const tagName$h = 'div';
116445
116756
  const createElement$3 = name => {
116446
116757
  return new Element$2(name, [], [], noSpan$3, noSpan$3, noSpan$3);
116447
116758
  };
116448
- const addAtrribute$3 = (node, name, value) => {
116449
- const attr = new Attribute$2(name, value, noSpan$3, noSpan$3, noSpan$3, undefined, undefined);
116450
- node.attrs.push(attr);
116451
- };
116452
116759
  const noSpan$3 = {};
116453
116760
  register('wm-page-content', () => {
116454
116761
  return {
@@ -116456,9 +116763,12 @@ register('wm-page-content', () => {
116456
116763
  for (let attr of node.attrs) {
116457
116764
  if (attr.name === 'spa' && attr.value === 'true') {
116458
116765
  const conditionalNode = createElement$3('ng-container');
116459
- addAtrribute$3(conditionalNode, '*ngIf', 'compilePageContent');
116766
+ const ifOpenText = new Text$1('@if (compilePageContent) {', null, undefined, undefined);
116767
+ conditionalNode.children.push(ifOpenText);
116460
116768
  conditionalNode.children = conditionalNode.children.concat(node.children);
116461
116769
  conditionalNode.children.push(new Text$1('{{onPageContentReady()}}', null, undefined, undefined));
116770
+ const ifCloseText = new Text$1('}', null, undefined, undefined);
116771
+ conditionalNode.children.push(ifCloseText);
116462
116772
  node.children = [conditionalNode];
116463
116773
  break;
116464
116774
  }
@@ -116512,16 +116822,15 @@ const noSpan$2 = {};
116512
116822
  const createElement$2 = name => {
116513
116823
  return new Element$2(name, [], [], noSpan$2, noSpan$2, noSpan$2);
116514
116824
  };
116515
- const addAtrribute$2 = (node, name, value) => {
116516
- const attr = new Attribute$2(name, value, noSpan$2, noSpan$2, noSpan$2, undefined, undefined);
116517
- node.attrs.push(attr);
116518
- };
116519
116825
  register('wm-partial', () => {
116520
116826
  return {
116521
116827
  template: (node) => {
116522
116828
  const conditionalNode = createElement$2('ng-container');
116523
- addAtrribute$2(conditionalNode, '*ngIf', 'compileContent');
116829
+ const ifOpenText = new Text$1('@if (compileContent) {', null, undefined, undefined);
116830
+ conditionalNode.children.push(ifOpenText);
116524
116831
  conditionalNode.children = conditionalNode.children.concat(node.children);
116832
+ const ifCloseText = new Text$1('}', null, undefined, undefined);
116833
+ conditionalNode.children.push(ifCloseText);
116525
116834
  node.children.length = 0;
116526
116835
  node.children.push(conditionalNode);
116527
116836
  },
@@ -116568,17 +116877,16 @@ const noSpan$1 = {};
116568
116877
  const createElement$1 = name => {
116569
116878
  return new Element$2(name, [], [], noSpan$1, noSpan$1, noSpan$1);
116570
116879
  };
116571
- const addAtrribute$1 = (node, name, value) => {
116572
- const attr = new Attribute$2(name, value, noSpan$1, noSpan$1, noSpan$1, undefined, undefined);
116573
- node.attrs.push(attr);
116574
- };
116575
116880
  const tagName$b = 'div';
116576
116881
  register('wm-prefab-container', () => {
116577
116882
  return {
116578
116883
  template: (node) => {
116579
116884
  const conditionalNode = createElement$1('ng-container');
116580
- addAtrribute$1(conditionalNode, '*ngIf', 'compileContent');
116885
+ const ifOpenText = new Text$1('@if (compileContent) {', null, undefined, undefined);
116886
+ conditionalNode.children.push(ifOpenText);
116581
116887
  conditionalNode.children = conditionalNode.children.concat(node.children);
116888
+ const ifCloseText = new Text$1('}', null, undefined, undefined);
116889
+ conditionalNode.children.push(ifCloseText);
116582
116890
  node.children.length = 0;
116583
116891
  node.children.push(conditionalNode);
116584
116892
  },
@@ -116927,8 +117235,10 @@ register('wm-table-row', () => {
116927
117235
  <ng-template #rowExpansionTmpl let-row="row" let-rowDef="rowDef" let-containerLoad="containerLoad">
116928
117236
  <div wmContainer partialContainer content.bind="rowDef.content" load.event="containerLoad(widget)"
116929
117237
  [ngStyle]="{'height': rowDef.height, 'overflow-y': 'auto'}">
116930
- <div *ngFor="let param of rowDef.partialParams | keyvalue" wmParam hidden
116931
- [name]="param.key" [value]="param.value"></div>`;
117238
+ @for (param of rowDef.partialParams | keyvalue; track param) {
117239
+ <div wmParam hidden
117240
+ [name]="param.key" [value]="param.value"></div>
117241
+ }`;
116932
117242
  },
116933
117243
  post: () => `</div></ng-template></${tagName$7}>`
116934
117244
  };