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,
@@ -105,6 +109,15 @@
105
109
  ArraySplice = _Array$prototype.splice,
106
110
  ArrayUnshift = _Array$prototype.unshift,
107
111
  forEach = _Array$prototype.forEach;
112
+ // The type of the return value of Array.prototype.every is `this is T[]`. However, once this
113
+ // Array method is pulled out of the prototype, the function is now referencing `this` where
114
+ // `this` is meaningless, resulting in a TypeScript compilation error.
115
+ //
116
+ // Exposing this helper function is the closest we can get to preserving the usage patterns
117
+ // of Array.prototype methods used elsewhere in the codebase.
118
+ function arrayEvery(arr, predicate) {
119
+ return ArrayEvery.call(arr, predicate);
120
+ }
108
121
  var StringFromCharCode = String.fromCharCode;
109
122
  var _String$prototype = String.prototype,
110
123
  StringCharCodeAt = _String$prototype.charCodeAt,
@@ -207,7 +220,7 @@
207
220
  AriaPropNameToAttrNameMap = _ref.AriaPropNameToAttrNameMap;
208
221
  // These attributes take either an ID or a list of IDs as values.
209
222
  // This includes aria-* attributes as well as the special non-ARIA "for" attribute
210
- var ID_REFERENCING_ATTRIBUTES_SET = new Set(['aria-activedescendant', 'aria-controls', 'aria-describedby', 'aria-details', 'aria-errormessage', 'aria-flowto', 'aria-labelledby', 'aria-owns', 'for']);
223
+ 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']);
211
224
 
212
225
  /*
213
226
  * Copyright (c) 2018, salesforce.com, inc.
@@ -270,11 +283,11 @@
270
283
  /**
271
284
  * Map associating previously transformed HTML property into HTML attribute.
272
285
  */
273
- var CACHED_PROPERTY_ATTRIBUTE_MAPPING = new Map();
286
+ var CACHED_PROPERTY_ATTRIBUTE_MAPPING = /*@__PURE__@*/new Map();
274
287
  /**
275
288
  * Map associating previously transformed HTML attribute into HTML property.
276
289
  */
277
- var CACHED_ATTRIBUTE_PROPERTY_MAPPING = new Map();
290
+ var CACHED_ATTRIBUTE_PROPERTY_MAPPING = /*@__PURE__@*/new Map();
278
291
  function htmlPropertyToAttribute(propName) {
279
292
  var ariaAttributeName = AriaPropNameToAttrNameMap[propName];
280
293
  if (!isUndefined$1(ariaAttributeName)) {
@@ -330,12 +343,12 @@
330
343
  * For full license text, see the LICENSE file in the repo root or https://opensource.org/licenses/MIT
331
344
  */
332
345
  // Increment whenever the LWC template compiler changes
333
- var LWC_VERSION = "2.45.1";
346
+ var LWC_VERSION = "2.45.3";
334
347
  var LWC_VERSION_COMMENT_REGEX = /\/\*LWC compiler v([\d.]+)\*\/\s*}/;
335
- /** version: 2.45.1 */
348
+ /** version: 2.45.3 */
336
349
 
337
350
  /**
338
- * Copyright (C) 2018 salesforce.com, inc.
351
+ * Copyright (C) 2023 salesforce.com, inc.
339
352
  */
340
353
 
341
354
  /*
@@ -412,10 +425,10 @@
412
425
  setFeatureFlag(name, value);
413
426
  }
414
427
  }
415
- /** version: 2.45.1 */
428
+ /** version: 2.45.3 */
416
429
 
417
430
  /**
418
- * Copyright (C) 2018 salesforce.com, inc.
431
+ * Copyright (C) 2023 salesforce.com, inc.
419
432
  */
420
433
 
421
434
  /*
@@ -476,7 +489,7 @@
476
489
  }
477
490
  }
478
491
  }
479
- /** version: 2.45.1 */
492
+ /** version: 2.45.3 */
480
493
 
481
494
  /*
482
495
  * Copyright (c) 2018, salesforce.com, inc.
@@ -490,7 +503,9 @@
490
503
  applyAriaReflection();
491
504
  }
492
505
 
493
- /* proxy-compat-disable */
506
+ /**
507
+ * Copyright (C) 2023 salesforce.com, inc.
508
+ */
494
509
 
495
510
  /*
496
511
  * Copyright (c) 2018, salesforce.com, inc.
@@ -943,19 +958,6 @@
943
958
  */
944
959
  // These properties get added to LWCElement.prototype publicProps automatically
945
960
  var defaultDefHTMLPropertyNames = ['accessKey', 'dir', 'draggable', 'hidden', 'id', 'lang', 'spellcheck', 'tabIndex', 'title'];
946
- var controlledElement = null;
947
- var controlledAttributeName;
948
- function isAttributeLocked(elm, attrName) {
949
- return elm !== controlledElement || attrName !== controlledAttributeName;
950
- }
951
- function lockAttribute(_elm, _key) {
952
- controlledElement = null;
953
- controlledAttributeName = undefined;
954
- }
955
- function unlockAttribute(elm, key) {
956
- controlledElement = elm;
957
- controlledAttributeName = key;
958
- }
959
961
 
960
962
  /*
961
963
  * Copyright (c) 2018, salesforce.com, inc.
@@ -994,6 +996,7 @@
994
996
  * SPDX-License-Identifier: MIT
995
997
  * For full license text, see the LICENSE file in the repo root or https://opensource.org/licenses/MIT
996
998
  */
999
+ /* eslint @lwc/lwc-internal/no-production-assert: "off" */
997
1000
  function generateDataDescriptor(options) {
998
1001
  return assign({
999
1002
  configurable: true,
@@ -1939,6 +1942,14 @@
1939
1942
  * SPDX-License-Identifier: MIT
1940
1943
  * For full license text, see the LICENSE file in the repo root or https://opensource.org/licenses/MIT
1941
1944
  */
1945
+ /**
1946
+ * This module is responsible for producing the ComponentDef object that is always
1947
+ * accessible via `vm.def`. This is lazily created during the creation of the first
1948
+ * instance of a component class, and shared across all instances.
1949
+ *
1950
+ * This structure can be used to synthetically create proxies, and understand the
1951
+ * shape of a component. It is also used internally to apply extra optimizations.
1952
+ */
1942
1953
  /**
1943
1954
  * This operation is called with a descriptor of an standard html property
1944
1955
  * that a Custom Element can support (including AOM properties), which
@@ -2115,17 +2126,13 @@
2115
2126
  var vm = getAssociatedVM(this);
2116
2127
  var elm = vm.elm,
2117
2128
  removeAttribute = vm.renderer.removeAttribute;
2118
- unlockAttribute(elm, name);
2119
2129
  removeAttribute(elm, name);
2120
- lockAttribute();
2121
2130
  },
2122
2131
  removeAttributeNS: function removeAttributeNS(namespace, name) {
2123
2132
  var _getAssociatedVM = getAssociatedVM(this),
2124
2133
  elm = _getAssociatedVM.elm,
2125
2134
  removeAttribute = _getAssociatedVM.renderer.removeAttribute;
2126
- unlockAttribute(elm, name);
2127
2135
  removeAttribute(elm, name, namespace);
2128
- lockAttribute();
2129
2136
  },
2130
2137
  getAttribute: function getAttribute(name) {
2131
2138
  var vm = getAssociatedVM(this);
@@ -2148,9 +2155,7 @@
2148
2155
  logError("Failed to construct '".concat(getComponentTag(vm), "': The result must not have attributes."));
2149
2156
  }
2150
2157
  }
2151
- unlockAttribute(elm, name);
2152
2158
  setAttribute(elm, name, value);
2153
- lockAttribute();
2154
2159
  },
2155
2160
  setAttributeNS: function setAttributeNS(namespace, name, value) {
2156
2161
  var vm = getAssociatedVM(this);
@@ -2161,9 +2166,7 @@
2161
2166
  logError("Failed to construct '".concat(getComponentTag(vm), "': The result must not have attributes."));
2162
2167
  }
2163
2168
  }
2164
- unlockAttribute(elm, name);
2165
2169
  setAttribute(elm, name, value, namespace);
2166
- lockAttribute();
2167
2170
  },
2168
2171
  getBoundingClientRect: function getBoundingClientRect() {
2169
2172
  var vm = getAssociatedVM(this);
@@ -2563,7 +2566,9 @@
2563
2566
  });
2564
2567
  runWithBoundaryProtection(vm, vm, noop, function () {
2565
2568
  // job
2566
- connector = new adapter(dataCallback);
2569
+ connector = new adapter(dataCallback, {
2570
+ tagName: vm.tagName
2571
+ });
2567
2572
  }, noop);
2568
2573
  var updateConnectorConfig = function updateConnectorConfig(config) {
2569
2574
  // every time the config is recomputed due to tracking,
@@ -3153,6 +3158,10 @@
3153
3158
  * SPDX-License-Identifier: MIT
3154
3159
  * For full license text, see the LICENSE file in the repo root or https://opensource.org/licenses/MIT
3155
3160
  */
3161
+ /**
3162
+ * This module is responsible for creating the base bridge class BaseBridgeElement
3163
+ * that represents the HTMLElement extension used for any LWC inserted in the DOM.
3164
+ */
3156
3165
  // A bridge descriptor is a descriptor whose job is just to get the component instance
3157
3166
  // from the element instance, and get the value or set a new value on the component.
3158
3167
  // This means that across different elements, similar names can get the exact same
@@ -3207,14 +3216,6 @@
3207
3216
  }
3208
3217
  return;
3209
3218
  }
3210
- if (!isAttributeLocked(this, attrName)) {
3211
- // Ignore changes triggered by the engine itself during:
3212
- // * diffing when public props are attempting to reflect to the DOM
3213
- // * component via `this.setAttribute()`, should never update the prop
3214
- // Both cases, the setAttribute call is always wrapped by the unlocking of the
3215
- // attribute to be changed
3216
- return;
3217
- }
3218
3219
  // Reflect attribute change to the corresponding property when changed from outside.
3219
3220
  this[propName] = newValue;
3220
3221
  };
@@ -3629,6 +3630,14 @@
3629
3630
  * SPDX-License-Identifier: MIT
3630
3631
  * For full license text, see the LICENSE file in the repo root or https://opensource.org/licenses/MIT
3631
3632
  */
3633
+ /**
3634
+ * This module is responsible for producing the ComponentDef object that is always
3635
+ * accessible via `vm.def`. This is lazily created during the creation of the first
3636
+ * instance of a component class, and shared across all instances.
3637
+ *
3638
+ * This structure can be used to synthetically create proxies, and understand the
3639
+ * shape of a component. It is also used internally to apply extra optimizations.
3640
+ */
3632
3641
  var CtorToDefMap = new WeakMap();
3633
3642
  function getCtorProto(Ctor) {
3634
3643
  var proto = getPrototypeOf$1(Ctor);
@@ -3827,9 +3836,9 @@
3827
3836
  };
3828
3837
  }
3829
3838
  var publicMethods = {};
3830
- for (var _key2 in methods) {
3839
+ for (var _key in methods) {
3831
3840
  // avoid leaking the reference to the public method descriptors
3832
- publicMethods[_key2] = methods[_key2].value;
3841
+ publicMethods[_key] = methods[_key].value;
3833
3842
  }
3834
3843
  return {
3835
3844
  ctor: ctor,
@@ -4088,7 +4097,6 @@
4088
4097
  var cur = attrs[key];
4089
4098
  var old = oldAttrs[key];
4090
4099
  if (old !== cur) {
4091
- unlockAttribute(elm, key);
4092
4100
  if (StringCharCodeAt.call(key, 3) === ColonCharCode$1) {
4093
4101
  // Assume xml namespace
4094
4102
  setAttribute(elm, key, cur, XML_NAMESPACE);
@@ -4100,7 +4108,6 @@
4100
4108
  } else {
4101
4109
  setAttribute(elm, key, cur);
4102
4110
  }
4103
- lockAttribute();
4104
4111
  }
4105
4112
  }
4106
4113
  }
@@ -5761,8 +5768,8 @@
5761
5768
  }
5762
5769
  function buildParseFragmentFn(createFragmentFn) {
5763
5770
  return function (strings) {
5764
- for (var _len3 = arguments.length, keys = new Array(_len3 > 1 ? _len3 - 1 : 0), _key3 = 1; _key3 < _len3; _key3++) {
5765
- keys[_key3 - 1] = arguments[_key3];
5771
+ for (var _len3 = arguments.length, keys = new Array(_len3 > 1 ? _len3 - 1 : 0), _key2 = 1; _key2 < _len3; _key2++) {
5772
+ keys[_key2 - 1] = arguments[_key2];
5766
5773
  }
5767
5774
  var cache = create(null);
5768
5775
  return function () {
@@ -7026,6 +7033,35 @@
7026
7033
  }
7027
7034
  return false;
7028
7035
  }
7036
+ // The validationOptOut static property can be an array of attribute names.
7037
+ // Any attribute names specified in that array will not be validated, and the
7038
+ // LWC runtime will assume that VDOM attrs and DOM attrs are in sync.
7039
+ function getValidationPredicate(optOutStaticProp) {
7040
+ if (isUndefined$1(optOutStaticProp)) {
7041
+ return function (_attrName) {
7042
+ return true;
7043
+ };
7044
+ }
7045
+ // If validationOptOut is true, no attributes will be checked for correctness
7046
+ // and the runtime will assume VDOM attrs and DOM attrs are in sync.
7047
+ if (isTrue(optOutStaticProp)) {
7048
+ return function (_attrName) {
7049
+ return false;
7050
+ };
7051
+ }
7052
+ // If validationOptOut is an array of strings, attributes specified in the
7053
+ // array will be "opted out". Attributes not specified in the array will still
7054
+ // be validated.
7055
+ if (isArray$1(optOutStaticProp) && arrayEvery(optOutStaticProp, isString)) {
7056
+ return function (attrName) {
7057
+ return !ArrayIncludes.call(optOutStaticProp, attrName);
7058
+ };
7059
+ }
7060
+ logWarn('Validation opt out must be `true` or an array of attributes that should not be validated.');
7061
+ return function (_attrName) {
7062
+ return true;
7063
+ };
7064
+ }
7029
7065
  function hydrateText(node, vnode, renderer) {
7030
7066
  var _a;
7031
7067
  if (!hasCorrectNodeType(vnode, node, 3 /* EnvNodeTypes.TEXT */, renderer)) {
@@ -7105,7 +7141,18 @@
7105
7141
  return elm;
7106
7142
  }
7107
7143
  function hydrateCustomElement(elm, vnode, renderer) {
7108
- if (!hasCorrectNodeType(vnode, elm, 1 /* EnvNodeTypes.ELEMENT */, renderer) || !isMatchingElement(vnode, elm, renderer)) {
7144
+ var validationOptOut = vnode.ctor.validationOptOut;
7145
+ var shouldValidateAttr = getValidationPredicate(validationOptOut);
7146
+ // The validationOptOut static property can be an array of attribute names.
7147
+ // Any attribute names specified in that array will not be validated, and the
7148
+ // LWC runtime will assume that VDOM attrs and DOM attrs are in sync.
7149
+ //
7150
+ // If validationOptOut is true, no attributes will be checked for correctness
7151
+ // and the runtime will assume VDOM attrs and DOM attrs are in sync.
7152
+ //
7153
+ // Therefore, if validationOptOut is falsey or an array of strings, we need to
7154
+ // examine some or all of the custom element's attributes.
7155
+ if (!hasCorrectNodeType(vnode, elm, 1 /* EnvNodeTypes.ELEMENT */, renderer) || !isMatchingElement(vnode, elm, renderer, shouldValidateAttr)) {
7109
7156
  return handleMismatch(elm, vnode, renderer);
7110
7157
  }
7111
7158
  var sel = vnode.sel,
@@ -7139,14 +7186,12 @@
7139
7186
  function hydrateChildren(node, children, parentNode, owner) {
7140
7187
  var hasWarned = false;
7141
7188
  var nextNode = node;
7142
- var anchor = null;
7143
7189
  var renderer = owner.renderer;
7144
7190
  for (var _i36 = 0; _i36 < children.length; _i36++) {
7145
7191
  var childVnode = children[_i36];
7146
7192
  if (!isNull(childVnode)) {
7147
7193
  if (nextNode) {
7148
7194
  nextNode = hydrateNode(nextNode, childVnode, renderer);
7149
- anchor = childVnode.elm;
7150
7195
  } else {
7151
7196
  hasMismatch = true;
7152
7197
  if (process.env.NODE_ENV !== 'production') {
@@ -7155,8 +7200,8 @@
7155
7200
  logError("Hydration mismatch: incorrect number of rendered nodes. Client produced more nodes than the server.", owner);
7156
7201
  }
7157
7202
  }
7158
- mount(childVnode, parentNode, renderer, anchor);
7159
- anchor = childVnode.elm;
7203
+ mount(childVnode, parentNode, renderer, nextNode);
7204
+ nextNode = renderer.nextSibling(childVnode.elm);
7160
7205
  }
7161
7206
  }
7162
7207
  }
@@ -7202,6 +7247,9 @@
7202
7247
  return true;
7203
7248
  }
7204
7249
  function isMatchingElement(vnode, elm, renderer) {
7250
+ var shouldValidateAttr = arguments.length > 3 && arguments[3] !== undefined ? arguments[3] : function () {
7251
+ return true;
7252
+ };
7205
7253
  var getProperty = renderer.getProperty;
7206
7254
  if (vnode.sel.toLowerCase() !== getProperty(elm, 'tagName').toLowerCase()) {
7207
7255
  if (process.env.NODE_ENV !== 'production') {
@@ -7209,10 +7257,10 @@
7209
7257
  }
7210
7258
  return false;
7211
7259
  }
7212
- var hasIncompatibleAttrs = validateAttrs(vnode, elm, renderer);
7213
- var hasIncompatibleClass = validateClassAttr(vnode, elm, renderer);
7214
- var hasIncompatibleStyle = validateStyleAttr(vnode, elm, renderer);
7215
- return hasIncompatibleAttrs && hasIncompatibleClass && hasIncompatibleStyle;
7260
+ var hasCompatibleAttrs = validateAttrs(vnode, elm, renderer, shouldValidateAttr);
7261
+ var hasCompatibleClass = shouldValidateAttr('class') ? validateClassAttr(vnode, elm, renderer) : true;
7262
+ var hasCompatibleStyle = shouldValidateAttr('style') ? validateStyleAttr(vnode, elm, renderer) : true;
7263
+ return hasCompatibleAttrs && hasCompatibleClass && hasCompatibleStyle;
7216
7264
  }
7217
7265
  function attributeValuesAreEqual(vnodeValue, value) {
7218
7266
  var vnodeValueAsString = String(vnodeValue);
@@ -7227,7 +7275,7 @@
7227
7275
  // In all other cases, the two values are not considered equal
7228
7276
  return false;
7229
7277
  }
7230
- function validateAttrs(vnode, elm, renderer) {
7278
+ function validateAttrs(vnode, elm, renderer, shouldValidateAttr) {
7231
7279
  var _vnode$data$attrs = vnode.data.attrs,
7232
7280
  attrs = _vnode$data$attrs === void 0 ? {} : _vnode$data$attrs;
7233
7281
  var nodesAreCompatible = true;
@@ -7237,6 +7285,9 @@
7237
7285
  var _Object$entries$_i = _slicedToArray(_Object$entries[_i37], 2),
7238
7286
  attrName = _Object$entries$_i[0],
7239
7287
  attrValue = _Object$entries$_i[1];
7288
+ if (!shouldValidateAttr(attrName)) {
7289
+ continue;
7290
+ }
7240
7291
  var owner = vnode.owner;
7241
7292
  var getAttribute = renderer.getAttribute;
7242
7293
  var elmAttrValue = getAttribute(elm, attrName);
@@ -7688,7 +7739,7 @@
7688
7739
  }
7689
7740
  return getReadOnlyProxy(obj);
7690
7741
  }
7691
- /* version: 2.45.1 */
7742
+ /** version: 2.45.3 */
7692
7743
 
7693
7744
  /*
7694
7745
  * Copyright (c) 2018, salesforce.com, inc.
@@ -7948,6 +7999,7 @@
7948
7999
  * SPDX-License-Identifier: MIT
7949
8000
  * For full license text, see the LICENSE file in the repo root or https://opensource.org/licenses/MIT
7950
8001
  */
8002
+ new WeakMap();
7951
8003
  // Creates a custom element for compat (legacy) browser environments
7952
8004
  var createCustomElementCompat = function createCustomElementCompat(tagName, upgradeCallback) {
7953
8005
  var elm = document.createElement(tagName);
@@ -8075,7 +8127,7 @@
8075
8127
  function rendererFactory(baseRenderer) {
8076
8128
  var renderer = function (exports) {
8077
8129
  /**
8078
- * Copyright (C) 2018 salesforce.com, inc.
8130
+ * Copyright (C) 2023 salesforce.com, inc.
8079
8131
  */
8080
8132
  /*
8081
8133
  * Copyright (c) 2018, salesforce.com, inc.
@@ -8114,7 +8166,7 @@
8114
8166
  function isNull(obj) {
8115
8167
  return obj === null;
8116
8168
  }
8117
- /** version: 2.45.1 */
8169
+ /** version: 2.45.3 */
8118
8170
 
8119
8171
  /*
8120
8172
  * Copyright (c) 2023, salesforce.com, inc.
@@ -8756,7 +8808,7 @@
8756
8808
  });
8757
8809
  });
8758
8810
  }
8759
- /* version: 2.45.1 */
8811
+ /** version: 2.45.3 */
8760
8812
 
8761
8813
  exports.LightningElement = LightningElement;
8762
8814
  exports.__unstable__ProfilerControl = profilerControl;