lwc 2.45.1 → 2.45.3

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.
Files changed (68) hide show
  1. package/dist/engine-dom/esm/es2017/engine-dom.js +101 -60
  2. package/dist/engine-dom/esm/es2017/engine-dom.js.map +1 -1
  3. package/dist/engine-dom/iife/es2017/engine-dom.js +101 -60
  4. package/dist/engine-dom/iife/es2017/engine-dom.js.map +1 -1
  5. package/dist/engine-dom/iife/es2017/engine-dom.min.js +1 -1
  6. package/dist/engine-dom/iife/es2017/engine-dom_debug.js +110 -58
  7. package/dist/engine-dom/iife/es2017/engine-dom_debug.js.map +1 -1
  8. package/dist/engine-dom/iife/es5/engine-dom.js +114 -62
  9. package/dist/engine-dom/iife/es5/engine-dom.js.map +1 -1
  10. package/dist/engine-dom/iife/es5/engine-dom.min.js +1 -1
  11. package/dist/engine-dom/iife/es5/engine-dom_debug.js +123 -60
  12. package/dist/engine-dom/iife/es5/engine-dom_debug.js.map +1 -1
  13. package/dist/engine-dom/umd/es2017/engine-dom.js +101 -60
  14. package/dist/engine-dom/umd/es2017/engine-dom.js.map +1 -1
  15. package/dist/engine-dom/umd/es2017/engine-dom.min.js +1 -1
  16. package/dist/engine-dom/umd/es2017/engine-dom_debug.js +110 -58
  17. package/dist/engine-dom/umd/es2017/engine-dom_debug.js.map +1 -1
  18. package/dist/engine-dom/umd/es5/engine-dom.js +114 -62
  19. package/dist/engine-dom/umd/es5/engine-dom.js.map +1 -1
  20. package/dist/engine-dom/umd/es5/engine-dom.min.js +1 -1
  21. package/dist/engine-dom/umd/es5/engine-dom_debug.js +123 -60
  22. package/dist/engine-dom/umd/es5/engine-dom_debug.js.map +1 -1
  23. package/dist/engine-server/commonjs/es2017/engine-server.js +7796 -92
  24. package/dist/engine-server/commonjs/es2017/engine-server.js.map +1 -1
  25. package/dist/engine-server/commonjs/es2017/engine-server.min.js +1 -1
  26. package/dist/engine-server/esm/es2017/engine-server.js +7795 -72
  27. package/dist/engine-server/esm/es2017/engine-server.js.map +1 -1
  28. package/dist/synthetic-shadow/esm/es2017/synthetic-shadow.js +72 -13
  29. package/dist/synthetic-shadow/esm/es2017/synthetic-shadow.js.map +1 -1
  30. package/dist/synthetic-shadow/iife/es2017/synthetic-shadow.js +72 -13
  31. package/dist/synthetic-shadow/iife/es2017/synthetic-shadow.js.map +1 -1
  32. package/dist/synthetic-shadow/iife/es2017/synthetic-shadow.min.js +40 -2
  33. package/dist/synthetic-shadow/iife/es2017/synthetic-shadow_debug.js +56 -6
  34. package/dist/synthetic-shadow/iife/es2017/synthetic-shadow_debug.js.map +1 -1
  35. package/dist/synthetic-shadow/iife/es5/synthetic-shadow.js +71 -12
  36. package/dist/synthetic-shadow/iife/es5/synthetic-shadow.js.map +1 -1
  37. package/dist/synthetic-shadow/iife/es5/synthetic-shadow.min.js +39 -1
  38. package/dist/synthetic-shadow/iife/es5/synthetic-shadow_debug.js +43 -4
  39. package/dist/synthetic-shadow/iife/es5/synthetic-shadow_debug.js.map +1 -1
  40. package/dist/synthetic-shadow/umd/es2017/synthetic-shadow.js +72 -13
  41. package/dist/synthetic-shadow/umd/es2017/synthetic-shadow.js.map +1 -1
  42. package/dist/synthetic-shadow/umd/es2017/synthetic-shadow.min.js +40 -2
  43. package/dist/synthetic-shadow/umd/es2017/synthetic-shadow_debug.js +56 -6
  44. package/dist/synthetic-shadow/umd/es2017/synthetic-shadow_debug.js.map +1 -1
  45. package/dist/synthetic-shadow/umd/es5/synthetic-shadow.js +71 -12
  46. package/dist/synthetic-shadow/umd/es5/synthetic-shadow.js.map +1 -1
  47. package/dist/synthetic-shadow/umd/es5/synthetic-shadow.min.js +39 -1
  48. package/dist/synthetic-shadow/umd/es5/synthetic-shadow_debug.js +43 -4
  49. package/dist/synthetic-shadow/umd/es5/synthetic-shadow_debug.js.map +1 -1
  50. package/dist/wire-service/esm/es2017/wire-service.js +10 -4
  51. package/dist/wire-service/esm/es2017/wire-service.js.map +1 -1
  52. package/dist/wire-service/iife/es2017/wire-service.js +10 -4
  53. package/dist/wire-service/iife/es2017/wire-service.js.map +1 -1
  54. package/dist/wire-service/iife/es2017/wire-service_debug.js +10 -4
  55. package/dist/wire-service/iife/es2017/wire-service_debug.js.map +1 -1
  56. package/dist/wire-service/iife/es5/wire-service.js +10 -4
  57. package/dist/wire-service/iife/es5/wire-service.js.map +1 -1
  58. package/dist/wire-service/iife/es5/wire-service_debug.js +10 -4
  59. package/dist/wire-service/iife/es5/wire-service_debug.js.map +1 -1
  60. package/dist/wire-service/umd/es2017/wire-service.js +10 -4
  61. package/dist/wire-service/umd/es2017/wire-service.js.map +1 -1
  62. package/dist/wire-service/umd/es2017/wire-service_debug.js +10 -4
  63. package/dist/wire-service/umd/es2017/wire-service_debug.js.map +1 -1
  64. package/dist/wire-service/umd/es5/wire-service.js +10 -4
  65. package/dist/wire-service/umd/es5/wire-service.js.map +1 -1
  66. package/dist/wire-service/umd/es5/wire-service_debug.js +10 -4
  67. package/dist/wire-service/umd/es5/wire-service_debug.js.map +1 -1
  68. package/package.json +7 -7
@@ -32,9 +32,11 @@
32
32
  function _toPropertyKey(arg) { var key = _toPrimitive(arg, "string"); return _typeof(key) === "symbol" ? key : String(key); }
33
33
  function _toPrimitive(input, hint) { if (_typeof(input) !== "object" || input === null) return input; var prim = input[Symbol.toPrimitive]; if (prim !== undefined) { var res = prim.call(input, hint || "default"); if (_typeof(res) !== "object") return res; throw new TypeError("@@toPrimitive must return a primitive value."); } return (hint === "string" ? String : Number)(input); }
34
34
  function _typeof(obj) { "@babel/helpers - typeof"; return _typeof = "function" == typeof Symbol && "symbol" == typeof Symbol.iterator ? function (obj) { return typeof obj; } : function (obj) { return obj && "function" == typeof Symbol && obj.constructor === Symbol && obj !== Symbol.prototype ? "symbol" : typeof obj; }, _typeof(obj); }
35
- /* proxy-compat-disable */
36
35
  /**
37
- * Copyright (C) 2018 salesforce.com, inc.
36
+ * Copyright (C) 2023 salesforce.com, inc.
37
+ */
38
+ /**
39
+ * Copyright (C) 2023 salesforce.com, inc.
38
40
  */
39
41
  /*
40
42
  * Copyright (c) 2018, salesforce.com, inc.
@@ -90,8 +92,10 @@
90
92
  var isArray$1 = Array.isArray;
91
93
  var _Array$prototype = Array.prototype,
92
94
  ArrayCopyWithin = _Array$prototype.copyWithin,
95
+ ArrayEvery = _Array$prototype.every,
93
96
  ArrayFill = _Array$prototype.fill,
94
97
  ArrayFilter = _Array$prototype.filter,
98
+ ArrayIncludes = _Array$prototype.includes,
95
99
  ArrayIndexOf = _Array$prototype.indexOf,
96
100
  ArrayJoin = _Array$prototype.join,
97
101
  ArrayMap = _Array$prototype.map,
@@ -104,6 +108,15 @@
104
108
  ArraySplice = _Array$prototype.splice,
105
109
  ArrayUnshift = _Array$prototype.unshift,
106
110
  forEach = _Array$prototype.forEach;
111
+ // The type of the return value of Array.prototype.every is `this is T[]`. However, once this
112
+ // Array method is pulled out of the prototype, the function is now referencing `this` where
113
+ // `this` is meaningless, resulting in a TypeScript compilation error.
114
+ //
115
+ // Exposing this helper function is the closest we can get to preserving the usage patterns
116
+ // of Array.prototype methods used elsewhere in the codebase.
117
+ function arrayEvery(arr, predicate) {
118
+ return ArrayEvery.call(arr, predicate);
119
+ }
107
120
  var StringFromCharCode = String.fromCharCode;
108
121
  var _String$prototype = String.prototype,
109
122
  StringCharCodeAt = _String$prototype.charCodeAt,
@@ -203,7 +216,7 @@
203
216
  AriaPropNameToAttrNameMap = _ref.AriaPropNameToAttrNameMap;
204
217
  // These attributes take either an ID or a list of IDs as values.
205
218
  // This includes aria-* attributes as well as the special non-ARIA "for" attribute
206
- var ID_REFERENCING_ATTRIBUTES_SET = new Set(['aria-activedescendant', 'aria-controls', 'aria-describedby', 'aria-details', 'aria-errormessage', 'aria-flowto', 'aria-labelledby', 'aria-owns', 'for']);
219
+ var ID_REFERENCING_ATTRIBUTES_SET = /*@__PURE__*/new Set(['aria-activedescendant', 'aria-controls', 'aria-describedby', 'aria-details', 'aria-errormessage', 'aria-flowto', 'aria-labelledby', 'aria-owns', 'for']);
207
220
 
208
221
  /*
209
222
  * Copyright (c) 2018, salesforce.com, inc.
@@ -266,11 +279,11 @@
266
279
  /**
267
280
  * Map associating previously transformed HTML property into HTML attribute.
268
281
  */
269
- var CACHED_PROPERTY_ATTRIBUTE_MAPPING = new Map();
282
+ var CACHED_PROPERTY_ATTRIBUTE_MAPPING = /*@__PURE__@*/new Map();
270
283
  /**
271
284
  * Map associating previously transformed HTML attribute into HTML property.
272
285
  */
273
- var CACHED_ATTRIBUTE_PROPERTY_MAPPING = new Map();
286
+ var CACHED_ATTRIBUTE_PROPERTY_MAPPING = /*@__PURE__@*/new Map();
274
287
  function htmlPropertyToAttribute(propName) {
275
288
  var ariaAttributeName = AriaPropNameToAttrNameMap[propName];
276
289
  if (!isUndefined$1(ariaAttributeName)) {
@@ -318,10 +331,10 @@
318
331
  CACHED_ATTRIBUTE_PROPERTY_MAPPING.set(attrName, propertyName);
319
332
  return propertyName;
320
333
  }
321
- /** version: 2.45.1 */
334
+ /** version: 2.45.3 */
322
335
 
323
336
  /**
324
- * Copyright (C) 2018 salesforce.com, inc.
337
+ * Copyright (C) 2023 salesforce.com, inc.
325
338
  */
326
339
 
327
340
  /*
@@ -389,10 +402,10 @@
389
402
  */
390
403
  function setFeatureFlagForTest(name, value) {
391
404
  }
392
- /** version: 2.45.1 */
405
+ /** version: 2.45.3 */
393
406
 
394
407
  /**
395
- * Copyright (C) 2018 salesforce.com, inc.
408
+ * Copyright (C) 2023 salesforce.com, inc.
396
409
  */
397
410
 
398
411
  /*
@@ -453,7 +466,7 @@
453
466
  }
454
467
  }
455
468
  }
456
- /** version: 2.45.1 */
469
+ /** version: 2.45.3 */
457
470
 
458
471
  /*
459
472
  * Copyright (c) 2018, salesforce.com, inc.
@@ -467,7 +480,9 @@
467
480
  applyAriaReflection();
468
481
  }
469
482
 
470
- /* proxy-compat-disable */
483
+ /**
484
+ * Copyright (C) 2023 salesforce.com, inc.
485
+ */
471
486
 
472
487
  /*
473
488
  * Copyright (c) 2018, salesforce.com, inc.
@@ -614,6 +629,9 @@
614
629
  function logError(message, vm) {
615
630
  log('error', message, vm, false);
616
631
  }
632
+ function logWarn(message, vm) {
633
+ log('warn', message, vm, false);
634
+ }
617
635
 
618
636
  /*
619
637
  * Copyright (c) 2019, salesforce.com, inc.
@@ -888,19 +906,6 @@
888
906
  */
889
907
  // These properties get added to LWCElement.prototype publicProps automatically
890
908
  var defaultDefHTMLPropertyNames = ['accessKey', 'dir', 'draggable', 'hidden', 'id', 'lang', 'spellcheck', 'tabIndex', 'title'];
891
- var controlledElement = null;
892
- var controlledAttributeName;
893
- function isAttributeLocked(elm, attrName) {
894
- return elm !== controlledElement || attrName !== controlledAttributeName;
895
- }
896
- function lockAttribute(_elm, _key) {
897
- controlledElement = null;
898
- controlledAttributeName = undefined;
899
- }
900
- function unlockAttribute(elm, key) {
901
- controlledElement = elm;
902
- controlledAttributeName = key;
903
- }
904
909
 
905
910
  /*
906
911
  * Copyright (c) 2018, salesforce.com, inc.
@@ -1516,6 +1521,14 @@
1516
1521
  * SPDX-License-Identifier: MIT
1517
1522
  * For full license text, see the LICENSE file in the repo root or https://opensource.org/licenses/MIT
1518
1523
  */
1524
+ /**
1525
+ * This module is responsible for producing the ComponentDef object that is always
1526
+ * accessible via `vm.def`. This is lazily created during the creation of the first
1527
+ * instance of a component class, and shared across all instances.
1528
+ *
1529
+ * This structure can be used to synthetically create proxies, and understand the
1530
+ * shape of a component. It is also used internally to apply extra optimizations.
1531
+ */
1519
1532
  /**
1520
1533
  * This operation is called with a descriptor of an standard html property
1521
1534
  * that a Custom Element can support (including AOM properties), which
@@ -1646,17 +1659,13 @@
1646
1659
  var vm = getAssociatedVM(this);
1647
1660
  var elm = vm.elm,
1648
1661
  removeAttribute = vm.renderer.removeAttribute;
1649
- unlockAttribute(elm, name);
1650
1662
  removeAttribute(elm, name);
1651
- lockAttribute();
1652
1663
  },
1653
1664
  removeAttributeNS: function removeAttributeNS(namespace, name) {
1654
1665
  var _getAssociatedVM = getAssociatedVM(this),
1655
1666
  elm = _getAssociatedVM.elm,
1656
1667
  removeAttribute = _getAssociatedVM.renderer.removeAttribute;
1657
- unlockAttribute(elm, name);
1658
1668
  removeAttribute(elm, name, namespace);
1659
- lockAttribute();
1660
1669
  },
1661
1670
  getAttribute: function getAttribute(name) {
1662
1671
  var vm = getAssociatedVM(this);
@@ -1674,17 +1683,13 @@
1674
1683
  var vm = getAssociatedVM(this);
1675
1684
  var elm = vm.elm,
1676
1685
  setAttribute = vm.renderer.setAttribute;
1677
- unlockAttribute(elm, name);
1678
1686
  setAttribute(elm, name, value);
1679
- lockAttribute();
1680
1687
  },
1681
1688
  setAttributeNS: function setAttributeNS(namespace, name, value) {
1682
1689
  var vm = getAssociatedVM(this);
1683
1690
  var elm = vm.elm,
1684
1691
  setAttribute = vm.renderer.setAttribute;
1685
- unlockAttribute(elm, name);
1686
1692
  setAttribute(elm, name, value, namespace);
1687
- lockAttribute();
1688
1693
  },
1689
1694
  getBoundingClientRect: function getBoundingClientRect() {
1690
1695
  var vm = getAssociatedVM(this);
@@ -2017,7 +2022,9 @@
2017
2022
  });
2018
2023
  runWithBoundaryProtection(vm, vm, noop, function () {
2019
2024
  // job
2020
- connector = new adapter(dataCallback);
2025
+ connector = new adapter(dataCallback, {
2026
+ tagName: vm.tagName
2027
+ });
2021
2028
  }, noop);
2022
2029
  var updateConnectorConfig = function updateConnectorConfig(config) {
2023
2030
  // every time the config is recomputed due to tracking,
@@ -2402,6 +2409,10 @@
2402
2409
  * SPDX-License-Identifier: MIT
2403
2410
  * For full license text, see the LICENSE file in the repo root or https://opensource.org/licenses/MIT
2404
2411
  */
2412
+ /**
2413
+ * This module is responsible for creating the base bridge class BaseBridgeElement
2414
+ * that represents the HTMLElement extension used for any LWC inserted in the DOM.
2415
+ */
2405
2416
  // A bridge descriptor is a descriptor whose job is just to get the component instance
2406
2417
  // from the element instance, and get the value or set a new value on the component.
2407
2418
  // This means that across different elements, similar names can get the exact same
@@ -2456,14 +2467,6 @@
2456
2467
  }
2457
2468
  return;
2458
2469
  }
2459
- if (!isAttributeLocked(this, attrName)) {
2460
- // Ignore changes triggered by the engine itself during:
2461
- // * diffing when public props are attempting to reflect to the DOM
2462
- // * component via `this.setAttribute()`, should never update the prop
2463
- // Both cases, the setAttribute call is always wrapped by the unlocking of the
2464
- // attribute to be changed
2465
- return;
2466
- }
2467
2470
  // Reflect attribute change to the corresponding property when changed from outside.
2468
2471
  this[propName] = newValue;
2469
2472
  };
@@ -2682,6 +2685,15 @@
2682
2685
  return ModernWeakMultiMap;
2683
2686
  }();
2684
2687
  var WeakMultiMap = supportsWeakRefs ? ModernWeakMultiMap : LegacyWeakMultiMap;
2688
+
2689
+ /*
2690
+ * Copyright (c) 2020, salesforce.com, inc.
2691
+ * All rights reserved.
2692
+ * SPDX-License-Identifier: MIT
2693
+ * For full license text, see the LICENSE file in the repo root or https://opensource.org/licenses/MIT
2694
+ */
2695
+ new WeakMap();
2696
+ new WeakMap();
2685
2697
  var swappedStyleMap = new WeakMap();
2686
2698
  // The important thing here is the weak values – VMs are transient (one per component instance) and should be GC'ed,
2687
2699
  // so we don't want to create strong references to them.
@@ -2752,6 +2764,14 @@
2752
2764
  * SPDX-License-Identifier: MIT
2753
2765
  * For full license text, see the LICENSE file in the repo root or https://opensource.org/licenses/MIT
2754
2766
  */
2767
+ /**
2768
+ * This module is responsible for producing the ComponentDef object that is always
2769
+ * accessible via `vm.def`. This is lazily created during the creation of the first
2770
+ * instance of a component class, and shared across all instances.
2771
+ *
2772
+ * This structure can be used to synthetically create proxies, and understand the
2773
+ * shape of a component. It is also used internally to apply extra optimizations.
2774
+ */
2755
2775
  var CtorToDefMap = new WeakMap();
2756
2776
  function getCtorProto(Ctor) {
2757
2777
  var proto = getPrototypeOf$1(Ctor);
@@ -2923,9 +2943,9 @@
2923
2943
  };
2924
2944
  }
2925
2945
  var publicMethods = {};
2926
- for (var _key2 in methods) {
2946
+ for (var _key in methods) {
2927
2947
  // avoid leaking the reference to the public method descriptors
2928
- publicMethods[_key2] = methods[_key2].value;
2948
+ publicMethods[_key] = methods[_key].value;
2929
2949
  }
2930
2950
  return {
2931
2951
  ctor: ctor,
@@ -3176,7 +3196,6 @@
3176
3196
  var cur = attrs[key];
3177
3197
  var old = oldAttrs[key];
3178
3198
  if (old !== cur) {
3179
- unlockAttribute(elm, key);
3180
3199
  if (StringCharCodeAt.call(key, 3) === ColonCharCode$1) {
3181
3200
  // Assume xml namespace
3182
3201
  setAttribute(elm, key, cur, XML_NAMESPACE);
@@ -3188,7 +3207,6 @@
3188
3207
  } else {
3189
3208
  setAttribute(elm, key, cur);
3190
3209
  }
3191
- lockAttribute();
3192
3210
  }
3193
3211
  }
3194
3212
  }
@@ -4598,8 +4616,8 @@
4598
4616
  }
4599
4617
  function buildParseFragmentFn(createFragmentFn) {
4600
4618
  return function (strings) {
4601
- for (var _len3 = arguments.length, keys = new Array(_len3 > 1 ? _len3 - 1 : 0), _key3 = 1; _key3 < _len3; _key3++) {
4602
- keys[_key3 - 1] = arguments[_key3];
4619
+ for (var _len3 = arguments.length, keys = new Array(_len3 > 1 ? _len3 - 1 : 0), _key2 = 1; _key2 < _len3; _key2++) {
4620
+ keys[_key2 - 1] = arguments[_key2];
4603
4621
  }
4604
4622
  var cache = create(null);
4605
4623
  return function () {
@@ -5709,6 +5727,35 @@
5709
5727
  return renderer.nextSibling(hydratedNode);
5710
5728
  }
5711
5729
  var NODE_VALUE_PROP = 'nodeValue';
5730
+ // The validationOptOut static property can be an array of attribute names.
5731
+ // Any attribute names specified in that array will not be validated, and the
5732
+ // LWC runtime will assume that VDOM attrs and DOM attrs are in sync.
5733
+ function getValidationPredicate(optOutStaticProp) {
5734
+ if (isUndefined$1(optOutStaticProp)) {
5735
+ return function (_attrName) {
5736
+ return true;
5737
+ };
5738
+ }
5739
+ // If validationOptOut is true, no attributes will be checked for correctness
5740
+ // and the runtime will assume VDOM attrs and DOM attrs are in sync.
5741
+ if (isTrue(optOutStaticProp)) {
5742
+ return function (_attrName) {
5743
+ return false;
5744
+ };
5745
+ }
5746
+ // If validationOptOut is an array of strings, attributes specified in the
5747
+ // array will be "opted out". Attributes not specified in the array will still
5748
+ // be validated.
5749
+ if (isArray$1(optOutStaticProp) && arrayEvery(optOutStaticProp, isString)) {
5750
+ return function (attrName) {
5751
+ return !ArrayIncludes.call(optOutStaticProp, attrName);
5752
+ };
5753
+ }
5754
+ logWarn('Validation opt out must be `true` or an array of attributes that should not be validated.');
5755
+ return function (_attrName) {
5756
+ return true;
5757
+ };
5758
+ }
5712
5759
  function hydrateText(node, vnode, renderer) {
5713
5760
  var _a;
5714
5761
  if (!hasCorrectNodeType(vnode, node, 3 /* EnvNodeTypes.TEXT */, renderer)) {
@@ -5772,7 +5819,18 @@
5772
5819
  return elm;
5773
5820
  }
5774
5821
  function hydrateCustomElement(elm, vnode, renderer) {
5775
- if (!hasCorrectNodeType(vnode, elm, 1 /* EnvNodeTypes.ELEMENT */, renderer) || !isMatchingElement(vnode, elm, renderer)) {
5822
+ var validationOptOut = vnode.ctor.validationOptOut;
5823
+ var shouldValidateAttr = getValidationPredicate(validationOptOut);
5824
+ // The validationOptOut static property can be an array of attribute names.
5825
+ // Any attribute names specified in that array will not be validated, and the
5826
+ // LWC runtime will assume that VDOM attrs and DOM attrs are in sync.
5827
+ //
5828
+ // If validationOptOut is true, no attributes will be checked for correctness
5829
+ // and the runtime will assume VDOM attrs and DOM attrs are in sync.
5830
+ //
5831
+ // Therefore, if validationOptOut is falsey or an array of strings, we need to
5832
+ // examine some or all of the custom element's attributes.
5833
+ if (!hasCorrectNodeType(vnode, elm, 1 /* EnvNodeTypes.ELEMENT */, renderer) || !isMatchingElement(vnode, elm, renderer, shouldValidateAttr)) {
5776
5834
  return handleMismatch(elm, vnode, renderer);
5777
5835
  }
5778
5836
  var sel = vnode.sel,
@@ -5801,18 +5859,16 @@
5801
5859
  }
5802
5860
  function hydrateChildren(node, children, parentNode, owner) {
5803
5861
  var nextNode = node;
5804
- var anchor = null;
5805
5862
  var renderer = owner.renderer;
5806
5863
  for (var _i36 = 0; _i36 < children.length; _i36++) {
5807
5864
  var childVnode = children[_i36];
5808
5865
  if (!isNull(childVnode)) {
5809
5866
  if (nextNode) {
5810
5867
  nextNode = hydrateNode(nextNode, childVnode, renderer);
5811
- anchor = childVnode.elm;
5812
5868
  } else {
5813
5869
  hasMismatch = true;
5814
- mount(childVnode, parentNode, renderer, anchor);
5815
- anchor = childVnode.elm;
5870
+ mount(childVnode, parentNode, renderer, nextNode);
5871
+ nextNode = renderer.nextSibling(childVnode.elm);
5816
5872
  }
5817
5873
  }
5818
5874
  }
@@ -5850,14 +5906,17 @@
5850
5906
  return true;
5851
5907
  }
5852
5908
  function isMatchingElement(vnode, elm, renderer) {
5909
+ var shouldValidateAttr = arguments.length > 3 && arguments[3] !== undefined ? arguments[3] : function () {
5910
+ return true;
5911
+ };
5853
5912
  var getProperty = renderer.getProperty;
5854
5913
  if (vnode.sel.toLowerCase() !== getProperty(elm, 'tagName').toLowerCase()) {
5855
5914
  return false;
5856
5915
  }
5857
- var hasIncompatibleAttrs = validateAttrs(vnode, elm, renderer);
5858
- var hasIncompatibleClass = validateClassAttr(vnode, elm, renderer);
5859
- var hasIncompatibleStyle = validateStyleAttr(vnode, elm, renderer);
5860
- return hasIncompatibleAttrs && hasIncompatibleClass && hasIncompatibleStyle;
5916
+ var hasCompatibleAttrs = validateAttrs(vnode, elm, renderer, shouldValidateAttr);
5917
+ var hasCompatibleClass = shouldValidateAttr('class') ? validateClassAttr(vnode, elm, renderer) : true;
5918
+ var hasCompatibleStyle = shouldValidateAttr('style') ? validateStyleAttr(vnode, elm, renderer) : true;
5919
+ return hasCompatibleAttrs && hasCompatibleClass && hasCompatibleStyle;
5861
5920
  }
5862
5921
  function attributeValuesAreEqual(vnodeValue, value) {
5863
5922
  var vnodeValueAsString = String(vnodeValue);
@@ -5872,7 +5931,7 @@
5872
5931
  // In all other cases, the two values are not considered equal
5873
5932
  return false;
5874
5933
  }
5875
- function validateAttrs(vnode, elm, renderer) {
5934
+ function validateAttrs(vnode, elm, renderer, shouldValidateAttr) {
5876
5935
  var _vnode$data$attrs = vnode.data.attrs,
5877
5936
  attrs = _vnode$data$attrs === void 0 ? {} : _vnode$data$attrs;
5878
5937
  var nodesAreCompatible = true;
@@ -5882,6 +5941,9 @@
5882
5941
  var _Object$entries$_i = _slicedToArray(_Object$entries[_i37], 2),
5883
5942
  attrName = _Object$entries$_i[0],
5884
5943
  attrValue = _Object$entries$_i[1];
5944
+ if (!shouldValidateAttr(attrName)) {
5945
+ continue;
5946
+ }
5885
5947
  vnode.owner;
5886
5948
  var getAttribute = renderer.getAttribute;
5887
5949
  var elmAttrValue = getAttribute(elm, attrName);
@@ -6472,6 +6534,7 @@
6472
6534
  * SPDX-License-Identifier: MIT
6473
6535
  * For full license text, see the LICENSE file in the repo root or https://opensource.org/licenses/MIT
6474
6536
  */
6537
+ new WeakMap();
6475
6538
  // Creates a custom element for compat (legacy) browser environments
6476
6539
  var createCustomElementCompat = function createCustomElementCompat(tagName, upgradeCallback) {
6477
6540
  var elm = document.createElement(tagName);
@@ -6599,7 +6662,7 @@
6599
6662
  function rendererFactory(baseRenderer) {
6600
6663
  var renderer = function (exports) {
6601
6664
  /**
6602
- * Copyright (C) 2018 salesforce.com, inc.
6665
+ * Copyright (C) 2023 salesforce.com, inc.
6603
6666
  */
6604
6667
  /*
6605
6668
  * Copyright (c) 2018, salesforce.com, inc.
@@ -6638,7 +6701,7 @@
6638
6701
  function isNull(obj) {
6639
6702
  return obj === null;
6640
6703
  }
6641
- /** version: 2.45.1 */
6704
+ /** version: 2.45.3 */
6642
6705
 
6643
6706
  /*
6644
6707
  * Copyright (c) 2023, salesforce.com, inc.
@@ -7273,7 +7336,7 @@
7273
7336
  });
7274
7337
  });
7275
7338
  }
7276
- /* version: 2.45.1 */
7339
+ /** version: 2.45.3 */
7277
7340
 
7278
7341
  exports.LightningElement = LightningElement;
7279
7342
  exports.__unstable__ProfilerControl = profilerControl;