lwc 2.35.0 → 2.35.2

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 (39) hide show
  1. package/dist/engine-dom/esm/es2017/engine-dom.js +61 -134
  2. package/dist/engine-dom/iife/es2017/engine-dom.js +61 -134
  3. package/dist/engine-dom/iife/es2017/engine-dom.min.js +1 -1
  4. package/dist/engine-dom/iife/es2017/engine-dom_debug.js +100 -74
  5. package/dist/engine-dom/iife/es5/engine-dom.js +249 -327
  6. package/dist/engine-dom/iife/es5/engine-dom.min.js +1 -1
  7. package/dist/engine-dom/iife/es5/engine-dom_debug.js +266 -244
  8. package/dist/engine-dom/umd/es2017/engine-dom.js +61 -134
  9. package/dist/engine-dom/umd/es2017/engine-dom.min.js +1 -1
  10. package/dist/engine-dom/umd/es2017/engine-dom_debug.js +100 -74
  11. package/dist/engine-dom/umd/es5/engine-dom.js +249 -327
  12. package/dist/engine-dom/umd/es5/engine-dom.min.js +1 -1
  13. package/dist/engine-dom/umd/es5/engine-dom_debug.js +266 -244
  14. package/dist/engine-server/commonjs/es2017/engine-server.js +47 -136
  15. package/dist/engine-server/commonjs/es2017/engine-server.min.js +1 -1
  16. package/dist/engine-server/esm/es2017/engine-server.js +47 -136
  17. package/dist/synthetic-shadow/esm/es2017/synthetic-shadow.js +11 -42
  18. package/dist/synthetic-shadow/iife/es2017/synthetic-shadow.js +11 -42
  19. package/dist/synthetic-shadow/iife/es2017/synthetic-shadow.min.js +2 -2
  20. package/dist/synthetic-shadow/iife/es2017/synthetic-shadow_debug.js +8 -38
  21. package/dist/synthetic-shadow/iife/es5/synthetic-shadow.js +15 -44
  22. package/dist/synthetic-shadow/iife/es5/synthetic-shadow.min.js +2 -2
  23. package/dist/synthetic-shadow/iife/es5/synthetic-shadow_debug.js +12 -40
  24. package/dist/synthetic-shadow/umd/es2017/synthetic-shadow.js +11 -42
  25. package/dist/synthetic-shadow/umd/es2017/synthetic-shadow.min.js +2 -2
  26. package/dist/synthetic-shadow/umd/es2017/synthetic-shadow_debug.js +8 -38
  27. package/dist/synthetic-shadow/umd/es5/synthetic-shadow.js +15 -44
  28. package/dist/synthetic-shadow/umd/es5/synthetic-shadow.min.js +2 -2
  29. package/dist/synthetic-shadow/umd/es5/synthetic-shadow_debug.js +12 -40
  30. package/dist/wire-service/esm/es2017/wire-service.js +2 -2
  31. package/dist/wire-service/iife/es2017/wire-service.js +2 -2
  32. package/dist/wire-service/iife/es2017/wire-service_debug.js +2 -2
  33. package/dist/wire-service/iife/es5/wire-service.js +2 -2
  34. package/dist/wire-service/iife/es5/wire-service_debug.js +2 -2
  35. package/dist/wire-service/umd/es2017/wire-service.js +2 -2
  36. package/dist/wire-service/umd/es2017/wire-service_debug.js +2 -2
  37. package/dist/wire-service/umd/es5/wire-service.js +2 -2
  38. package/dist/wire-service/umd/es5/wire-service_debug.js +2 -2
  39. package/package.json +7 -7
@@ -21,16 +21,16 @@
21
21
  function _arrayWithoutHoles(arr) { if (Array.isArray(arr)) return _arrayLikeToArray(arr); }
22
22
  function _slicedToArray(arr, i) { return _arrayWithHoles(arr) || _iterableToArrayLimit(arr, i) || _unsupportedIterableToArray(arr, i) || _nonIterableRest(); }
23
23
  function _nonIterableRest() { throw new TypeError("Invalid attempt to destructure non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method."); }
24
- function _iterableToArrayLimit(arr, i) { var _i = null == arr ? null : "undefined" != typeof Symbol && arr[Symbol.iterator] || arr["@@iterator"]; if (null != _i) { var _s, _e, _x, _r, _arr = [], _n = !0, _d = !1; try { if (_x = (_i = _i.call(arr)).next, 0 === i) { if (Object(_i) !== _i) return; _n = !1; } else for (; !(_n = (_s = _x.call(_i)).done) && (_arr.push(_s.value), _arr.length !== i); _n = !0) { ; } } catch (err) { _d = !0, _e = err; } finally { try { if (!_n && null != _i.return && (_r = _i.return(), Object(_r) !== _r)) return; } finally { if (_d) throw _e; } } return _arr; } }
24
+ function _iterableToArrayLimit(arr, i) { var _i = null == arr ? null : "undefined" != typeof Symbol && arr[Symbol.iterator] || arr["@@iterator"]; if (null != _i) { var _s, _e, _x, _r, _arr = [], _n = !0, _d = !1; try { if (_x = (_i = _i.call(arr)).next, 0 === i) { if (Object(_i) !== _i) return; _n = !1; } else for (; !(_n = (_s = _x.call(_i)).done) && (_arr.push(_s.value), _arr.length !== i); _n = !0); } catch (err) { _d = !0, _e = err; } finally { try { if (!_n && null != _i.return && (_r = _i.return(), Object(_r) !== _r)) return; } finally { if (_d) throw _e; } } return _arr; } }
25
25
  function _arrayWithHoles(arr) { if (Array.isArray(arr)) return arr; }
26
+ function _createForOfIteratorHelper(o, allowArrayLike) { var it = typeof Symbol !== "undefined" && o[Symbol.iterator] || o["@@iterator"]; if (!it) { if (Array.isArray(o) || (it = _unsupportedIterableToArray(o)) || allowArrayLike && o && typeof o.length === "number") { if (it) o = it; var i = 0; var F = function F() {}; return { s: F, n: function n() { if (i >= o.length) return { done: true }; return { done: false, value: o[i++] }; }, e: function e(_e2) { throw _e2; }, f: F }; } throw new TypeError("Invalid attempt to iterate non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method."); } var normalCompletion = true, didErr = false, err; return { s: function s() { it = it.call(o); }, n: function n() { var step = it.next(); normalCompletion = step.done; return step; }, e: function e(_e3) { didErr = true; err = _e3; }, f: function f() { try { if (!normalCompletion && it.return != null) it.return(); } finally { if (didErr) throw err; } } }; }
27
+ function _unsupportedIterableToArray(o, minLen) { if (!o) return; if (typeof o === "string") return _arrayLikeToArray(o, minLen); var n = Object.prototype.toString.call(o).slice(8, -1); if (n === "Object" && o.constructor) n = o.constructor.name; if (n === "Map" || n === "Set") return Array.from(o); if (n === "Arguments" || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)) return _arrayLikeToArray(o, minLen); }
28
+ function _arrayLikeToArray(arr, len) { if (len == null || len > arr.length) len = arr.length; for (var i = 0, arr2 = new Array(len); i < len; i++) arr2[i] = arr[i]; return arr2; }
26
29
  function _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError("Cannot call a class as a function"); } }
27
30
  function _defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if ("value" in descriptor) descriptor.writable = true; Object.defineProperty(target, _toPropertyKey(descriptor.key), descriptor); } }
28
31
  function _createClass(Constructor, protoProps, staticProps) { if (protoProps) _defineProperties(Constructor.prototype, protoProps); if (staticProps) _defineProperties(Constructor, staticProps); Object.defineProperty(Constructor, "prototype", { writable: false }); return Constructor; }
29
32
  function _toPropertyKey(arg) { var key = _toPrimitive(arg, "string"); return _typeof(key) === "symbol" ? key : String(key); }
30
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); }
31
- function _createForOfIteratorHelper(o, allowArrayLike) { var it = typeof Symbol !== "undefined" && o[Symbol.iterator] || o["@@iterator"]; if (!it) { if (Array.isArray(o) || (it = _unsupportedIterableToArray(o)) || allowArrayLike && o && typeof o.length === "number") { if (it) o = it; var i = 0; var F = function F() {}; return { s: F, n: function n() { if (i >= o.length) return { done: true }; return { done: false, value: o[i++] }; }, e: function e(_e2) { throw _e2; }, f: F }; } throw new TypeError("Invalid attempt to iterate non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method."); } var normalCompletion = true, didErr = false, err; return { s: function s() { it = it.call(o); }, n: function n() { var step = it.next(); normalCompletion = step.done; return step; }, e: function e(_e3) { didErr = true; err = _e3; }, f: function f() { try { if (!normalCompletion && it.return != null) it.return(); } finally { if (didErr) throw err; } } }; }
32
- function _unsupportedIterableToArray(o, minLen) { if (!o) return; if (typeof o === "string") return _arrayLikeToArray(o, minLen); var n = Object.prototype.toString.call(o).slice(8, -1); if (n === "Object" && o.constructor) n = o.constructor.name; if (n === "Map" || n === "Set") return Array.from(o); if (n === "Arguments" || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)) return _arrayLikeToArray(o, minLen); }
33
- function _arrayLikeToArray(arr, len) { if (len == null || len > arr.length) len = arr.length; for (var i = 0, arr2 = new Array(len); i < len; i++) { arr2[i] = arr[i]; } return arr2; }
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
35
  /* proxy-compat-disable */
36
36
  /**
@@ -62,10 +62,10 @@
62
62
  }
63
63
  var assert = /*#__PURE__*/Object.freeze({
64
64
  __proto__: null,
65
+ fail: fail,
65
66
  invariant: invariant,
66
- isTrue: isTrue$1,
67
67
  isFalse: isFalse$1,
68
- fail: fail
68
+ isTrue: isTrue$1
69
69
  });
70
70
 
71
71
  /*
@@ -206,39 +206,11 @@
206
206
  * SPDX-License-Identifier: MIT
207
207
  * For full license text, see the LICENSE file in the repo root or https://opensource.org/licenses/MIT
208
208
  */
209
- // Inspired from: https://mathiasbynens.be/notes/globalthis
210
- var _globalThis = /*@__PURE__*/function () {
211
- // On recent browsers, `globalThis` is already defined. In this case return it directly.
212
- if ((typeof globalThis === "undefined" ? "undefined" : _typeof(globalThis)) === 'object') {
213
- return globalThis;
214
- }
215
- var _globalThis;
216
- try {
217
- // eslint-disable-next-line no-extend-native
218
- Object.defineProperty(Object.prototype, '__magic__', {
219
- get: function get() {
220
- return this;
221
- },
222
- configurable: true
223
- });
224
- // __magic__ is undefined in Safari 10 and IE10 and older.
225
- // @ts-ignore
226
- // eslint-disable-next-line no-undef
227
- _globalThis = __magic__;
228
- // @ts-ignore
229
- delete Object.prototype.__magic__;
230
- } catch (ex) {
231
- // In IE8, Object.defineProperty only works on DOM objects.
232
- } finally {
233
- // If the magic above fails for some reason we assume that we are in a legacy browser.
234
- // Assume `window` exists in this case.
235
- if (typeof _globalThis === 'undefined') {
236
- // @ts-ignore
237
- _globalThis = window;
238
- }
239
- }
240
- return _globalThis;
241
- }();
209
+ // See browser support for globalThis:
210
+ // https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/globalThis#browser_compatibility
211
+ /* istanbul ignore next */
212
+ // @ts-ignore
213
+ var _globalThis = (typeof globalThis === "undefined" ? "undefined" : _typeof(globalThis)) === 'object' ? globalThis : window;
242
214
 
243
215
  /*
244
216
  * Copyright (c) 2018, salesforce.com, inc.
@@ -341,7 +313,7 @@
341
313
  CACHED_ATTRIBUTE_PROPERTY_MAPPING.set(attrName, propertyName);
342
314
  return propertyName;
343
315
  }
344
- /** version: 2.35.0 */
316
+ /** version: 2.35.2 */
345
317
 
346
318
  /**
347
319
  * Copyright (C) 2018 salesforce.com, inc.
@@ -393,6 +365,7 @@
393
365
  console.warn("Failed to set the value \"".concat(value, "\" for the runtime feature flag \"").concat(name, "\" because it is undefined. Available flags: ").concat(availableFlags, "."));
394
366
  return;
395
367
  }
368
+ // This may seem redundant, but `"production" === 'test-karma-lwc'` is replaced by Karma tests
396
369
  {
397
370
  // Disallow the same flag to be set more than once in production
398
371
  var runtimeValue = lwcRuntimeFlags[name];
@@ -412,7 +385,7 @@
412
385
  */
413
386
  function setFeatureFlagForTest(name, value) {
414
387
  }
415
- /** version: 2.35.0 */
388
+ /** version: 2.35.2 */
416
389
 
417
390
  /**
418
391
  * Copyright (C) 2018 salesforce.com, inc.
@@ -476,7 +449,7 @@
476
449
  }
477
450
  }
478
451
  }
479
- /** version: 2.35.0 */
452
+ /** version: 2.35.2 */
480
453
 
481
454
  /*
482
455
  * Copyright (c) 2018, salesforce.com, inc.
@@ -516,23 +489,15 @@
516
489
  attachDispatcher: function attachDispatcher(dispatcher) {
517
490
  enabled$1 = true;
518
491
  currentDispatcher$1 = dispatcher;
519
- var _iterator = _createForOfIteratorHelper(onReportingEnabledCallbacks),
520
- _step;
521
- try {
522
- for (_iterator.s(); !(_step = _iterator.n()).done;) {
523
- var callback = _step.value;
524
- try {
525
- callback();
526
- } catch (err) {
527
- // This should never happen. But if it does, we don't want one callback to cause another to fail
528
- // eslint-disable-next-line no-console
529
- console.error('Could not invoke callback', err);
530
- }
492
+ for (var _i3 = 0, _onReportingEnabledCa = onReportingEnabledCallbacks; _i3 < _onReportingEnabledCa.length; _i3++) {
493
+ var callback = _onReportingEnabledCa[_i3];
494
+ try {
495
+ callback();
496
+ } catch (err) {
497
+ // This should never happen. But if it does, we don't want one callback to cause another to fail
498
+ // eslint-disable-next-line no-console
499
+ console.error('Could not invoke callback', err);
531
500
  }
532
- } catch (err) {
533
- _iterator.e(err);
534
- } finally {
535
- _iterator.f();
536
501
  }
537
502
  onReportingEnabledCallbacks.length = 0; // clear the array
538
503
  },
@@ -667,8 +632,8 @@
667
632
  if (!isUndefined$1(reactiveRecord)) {
668
633
  var reactiveObservers = reactiveRecord[key];
669
634
  if (!isUndefined$1(reactiveObservers)) {
670
- for (var _i3 = 0, len = reactiveObservers.length; _i3 < len; _i3 += 1) {
671
- var ro = reactiveObservers[_i3];
635
+ for (var _i4 = 0, len = reactiveObservers.length; _i4 < len; _i4 += 1) {
636
+ var ro = reactiveObservers[_i4];
672
637
  ro.notify();
673
638
  }
674
639
  }
@@ -727,9 +692,9 @@
727
692
  var listeners = this.listeners;
728
693
  var len = listeners.length;
729
694
  if (len > 0) {
730
- for (var _i4 = 0; _i4 < len; _i4 += 1) {
731
- var set = listeners[_i4];
732
- var pos = ArrayIndexOf.call(listeners[_i4], this);
695
+ for (var _i5 = 0; _i5 < len; _i5 += 1) {
696
+ var set = listeners[_i5];
697
+ var pos = ArrayIndexOf.call(listeners[_i5], this);
733
698
  ArraySplice.call(set, pos, 1);
734
699
  }
735
700
  listeners.length = 0;
@@ -781,8 +746,8 @@
781
746
  function flushCallbackQueue() {
782
747
  var callbacks = nextTickCallbackQueue;
783
748
  nextTickCallbackQueue = []; // reset to a new queue
784
- for (var _i5 = 0, len = callbacks.length; _i5 < len; _i5 += 1) {
785
- callbacks[_i5]();
749
+ for (var _i6 = 0, len = callbacks.length; _i6 < len; _i6 += 1) {
750
+ callbacks[_i6]();
786
751
  }
787
752
  }
788
753
  function addCallbackToNextTick(callback) {
@@ -804,11 +769,11 @@
804
769
  function parseStyleText(cssText) {
805
770
  var styleMap = {};
806
771
  var declarations = cssText.split(DECLARATION_DELIMITER);
807
- var _iterator2 = _createForOfIteratorHelper(declarations),
808
- _step2;
772
+ var _iterator = _createForOfIteratorHelper(declarations),
773
+ _step;
809
774
  try {
810
- for (_iterator2.s(); !(_step2 = _iterator2.n()).done;) {
811
- var declaration = _step2.value;
775
+ for (_iterator.s(); !(_step = _iterator.n()).done;) {
776
+ var declaration = _step.value;
812
777
  if (declaration) {
813
778
  var _declaration$split = declaration.split(PROPERTY_DELIMITER),
814
779
  _declaration$split2 = _slicedToArray(_declaration$split, 2),
@@ -820,17 +785,17 @@
820
785
  }
821
786
  }
822
787
  } catch (err) {
823
- _iterator2.e(err);
788
+ _iterator.e(err);
824
789
  } finally {
825
- _iterator2.f();
790
+ _iterator.f();
826
791
  }
827
792
  return styleMap;
828
793
  }
829
794
  // Make a shallow copy of an object but omit the given key
830
795
  function cloneAndOmitKey(object, keyToOmit) {
831
796
  var result = {};
832
- for (var _i6 = 0, _Object$keys = Object.keys(object); _i6 < _Object$keys.length; _i6++) {
833
- var key = _Object$keys[_i6];
797
+ for (var _i7 = 0, _Object$keys = Object.keys(object); _i7 < _Object$keys.length; _i7++) {
798
+ var key = _Object$keys[_i7];
834
799
  if (key !== keyToOmit) {
835
800
  result[key] = object[key];
836
801
  }
@@ -839,11 +804,11 @@
839
804
  }
840
805
  function flattenStylesheets(stylesheets) {
841
806
  var list = [];
842
- var _iterator3 = _createForOfIteratorHelper(stylesheets),
843
- _step3;
807
+ var _iterator2 = _createForOfIteratorHelper(stylesheets),
808
+ _step2;
844
809
  try {
845
- for (_iterator3.s(); !(_step3 = _iterator3.n()).done;) {
846
- var stylesheet = _step3.value;
810
+ for (_iterator2.s(); !(_step2 = _iterator2.n()).done;) {
811
+ var stylesheet = _step2.value;
847
812
  if (!Array.isArray(stylesheet)) {
848
813
  list.push(stylesheet);
849
814
  } else {
@@ -851,9 +816,9 @@
851
816
  }
852
817
  }
853
818
  } catch (err) {
854
- _iterator3.e(err);
819
+ _iterator2.e(err);
855
820
  } finally {
856
- _iterator3.f();
821
+ _iterator2.f();
857
822
  }
858
823
  return list;
859
824
  }
@@ -868,6 +833,14 @@
868
833
  refVNodes[ref] = vnode;
869
834
  }
870
835
  }
836
+ // Throw an error if we're running in prod mode. Ensures code is truly removed from prod mode.
837
+ function assertNotProd() {
838
+ /* istanbul ignore if */
839
+ {
840
+ // this method should never leak to prod
841
+ throw new ReferenceError();
842
+ }
843
+ }
871
844
 
872
845
  /*
873
846
  * Copyright (c) 2020, salesforce.com, inc.
@@ -1565,7 +1538,6 @@
1565
1538
  }
1566
1539
  };
1567
1540
  }
1568
- var EMPTY_REFS = freeze(create(null));
1569
1541
  var refsCache = new WeakMap();
1570
1542
  /**
1571
1543
  * This class is the base class for any LWC element.
@@ -1732,22 +1704,15 @@
1732
1704
  // based on `this.refs.bar`.
1733
1705
  return;
1734
1706
  }
1735
- var refVNodes = vm.refVNodes,
1736
- hasRefVNodes = vm.hasRefVNodes;
1707
+ var refVNodes = vm.refVNodes;
1737
1708
  vm.cmpTemplate;
1738
1709
  // For backwards compatibility with component written before template refs
1739
1710
  // were introduced, we return undefined if the template has no refs defined
1740
1711
  // anywhere. This fixes components that may want to add an expando called `refs`
1741
1712
  // and are checking if it exists with `if (this.refs)` before adding it.
1742
- // Note it is not sufficient to just check if `refVNodes` is null or empty,
1743
- // because a template may have `lwc:ref` defined within a falsy `if:true` block.
1744
- if (!hasRefVNodes) {
1745
- return;
1746
- }
1747
- // For templates that are using `lwc:ref`, if there are no refs currently available
1748
- // (e.g. refs inside of a falsy `if:true` block), we return an empty object.
1713
+ // Note we use a null refVNodes to indicate that the template has no refs defined.
1749
1714
  if (isNull(refVNodes)) {
1750
- return EMPTY_REFS;
1715
+ return;
1751
1716
  }
1752
1717
  // The refNodes can be cached based on the refVNodes, since the refVNodes
1753
1718
  // are recreated from scratch every time the template is rendered.
@@ -1755,17 +1720,17 @@
1755
1720
  var refs = refsCache.get(refVNodes);
1756
1721
  if (isUndefined$1(refs)) {
1757
1722
  refs = create(null);
1758
- var _iterator4 = _createForOfIteratorHelper(keys(refVNodes)),
1759
- _step4;
1723
+ var _iterator3 = _createForOfIteratorHelper(keys(refVNodes)),
1724
+ _step3;
1760
1725
  try {
1761
- for (_iterator4.s(); !(_step4 = _iterator4.n()).done;) {
1762
- var key = _step4.value;
1726
+ for (_iterator3.s(); !(_step3 = _iterator3.n()).done;) {
1727
+ var key = _step3.value;
1763
1728
  refs[key] = refVNodes[key].elm;
1764
1729
  }
1765
1730
  } catch (err) {
1766
- _iterator4.e(err);
1731
+ _iterator3.e(err);
1767
1732
  } finally {
1768
- _iterator4.f();
1733
+ _iterator3.f();
1769
1734
  }
1770
1735
  freeze(refs);
1771
1736
  refsCache.set(refVNodes, refs);
@@ -1829,7 +1794,7 @@
1829
1794
  var queryMethods = ['getElementsByClassName', 'getElementsByTagName', 'querySelector', 'querySelectorAll'];
1830
1795
  // Generic passthrough for query APIs on HTMLElement to the relevant Renderer APIs
1831
1796
  var _loop = function _loop() {
1832
- var queryMethod = _queryMethods[_i7];
1797
+ var queryMethod = _queryMethods[_i8];
1833
1798
  queryAndChildGetterDescriptors[queryMethod] = {
1834
1799
  value: function value(arg) {
1835
1800
  var vm = getAssociatedVM(this);
@@ -1842,7 +1807,7 @@
1842
1807
  writable: true
1843
1808
  };
1844
1809
  };
1845
- for (var _i7 = 0, _queryMethods = queryMethods; _i7 < _queryMethods.length; _i7++) {
1810
+ for (var _i8 = 0, _queryMethods = queryMethods; _i8 < _queryMethods.length; _i8++) {
1846
1811
  _loop();
1847
1812
  }
1848
1813
  defineProperties(LightningElement.prototype, queryAndChildGetterDescriptors);
@@ -2097,46 +2062,47 @@
2097
2062
  wire = vm.def.wire;
2098
2063
  var wiredConnecting = context.wiredConnecting = [];
2099
2064
  var wiredDisconnecting = context.wiredDisconnecting = [];
2100
- for (var fieldNameOrMethod in wire) {
2065
+ var _loop2 = function _loop2() {
2101
2066
  var descriptor = wire[fieldNameOrMethod];
2102
2067
  var wireDef = WireMetaMap.get(descriptor);
2103
2068
  if (!isUndefined$1(wireDef)) {
2104
- (function () {
2105
- var _createConnector = createConnector(vm, fieldNameOrMethod, wireDef),
2106
- connector = _createConnector.connector,
2107
- computeConfigAndUpdate = _createConnector.computeConfigAndUpdate,
2108
- resetConfigWatcher = _createConnector.resetConfigWatcher;
2109
- var hasDynamicParams = wireDef.dynamic.length > 0;
2110
- ArrayPush$1.call(wiredConnecting, function () {
2111
- connector.connect();
2112
- if (!lwcRuntimeFlags.ENABLE_WIRE_SYNC_EMIT) {
2113
- if (hasDynamicParams) {
2114
- Promise.resolve().then(computeConfigAndUpdate);
2115
- return;
2116
- }
2069
+ var _createConnector = createConnector(vm, fieldNameOrMethod, wireDef),
2070
+ connector = _createConnector.connector,
2071
+ computeConfigAndUpdate = _createConnector.computeConfigAndUpdate,
2072
+ resetConfigWatcher = _createConnector.resetConfigWatcher;
2073
+ var hasDynamicParams = wireDef.dynamic.length > 0;
2074
+ ArrayPush$1.call(wiredConnecting, function () {
2075
+ connector.connect();
2076
+ if (!lwcRuntimeFlags.ENABLE_WIRE_SYNC_EMIT) {
2077
+ if (hasDynamicParams) {
2078
+ Promise.resolve().then(computeConfigAndUpdate);
2079
+ return;
2117
2080
  }
2118
- computeConfigAndUpdate();
2119
- });
2120
- ArrayPush$1.call(wiredDisconnecting, function () {
2121
- connector.disconnect();
2122
- resetConfigWatcher();
2123
- });
2124
- })();
2081
+ }
2082
+ computeConfigAndUpdate();
2083
+ });
2084
+ ArrayPush$1.call(wiredDisconnecting, function () {
2085
+ connector.disconnect();
2086
+ resetConfigWatcher();
2087
+ });
2125
2088
  }
2089
+ };
2090
+ for (var fieldNameOrMethod in wire) {
2091
+ _loop2();
2126
2092
  }
2127
2093
  }
2128
2094
  function connectWireAdapters(vm) {
2129
2095
  var wiredConnecting = vm.context.wiredConnecting;
2130
- for (var _i8 = 0, len = wiredConnecting.length; _i8 < len; _i8 += 1) {
2131
- wiredConnecting[_i8]();
2096
+ for (var _i9 = 0, len = wiredConnecting.length; _i9 < len; _i9 += 1) {
2097
+ wiredConnecting[_i9]();
2132
2098
  }
2133
2099
  }
2134
2100
  function disconnectWireAdapters(vm) {
2135
2101
  var wiredDisconnecting = vm.context.wiredDisconnecting;
2136
2102
  runWithBoundaryProtection(vm, vm, noop, function () {
2137
2103
  // job
2138
- for (var _i9 = 0, len = wiredDisconnecting.length; _i9 < len; _i9 += 1) {
2139
- wiredDisconnecting[_i9]();
2104
+ for (var _i10 = 0, len = wiredDisconnecting.length; _i10 < len; _i10 += 1) {
2105
+ wiredDisconnecting[_i10]();
2140
2106
  }
2141
2107
  }, noop);
2142
2108
  }
@@ -2338,8 +2304,8 @@
2338
2304
  }
2339
2305
  }
2340
2306
  if (!isUndefined$1(fields)) {
2341
- for (var _i10 = 0, n = fields.length; _i10 < n; _i10++) {
2342
- var _fieldName2 = fields[_i10];
2307
+ for (var _i11 = 0, n = fields.length; _i11 < n; _i11++) {
2308
+ var _fieldName2 = fields[_i11];
2343
2309
  descriptor = getOwnPropertyDescriptor$1(proto, _fieldName2);
2344
2310
  // [W-9927596] Only mark a field as observed whenever it isn't a duplicated public nor
2345
2311
  // tracked property. This is only here for backward compatibility purposes.
@@ -2520,8 +2486,8 @@
2520
2486
  superObservedAttributes = _SuperClass$observedA === void 0 ? [] : _SuperClass$observedA;
2521
2487
  var descriptors = create(null);
2522
2488
  // expose getters and setters for each public props on the new Element Bridge
2523
- for (var _i11 = 0, len = props.length; _i11 < len; _i11 += 1) {
2524
- var _propName = props[_i11];
2489
+ for (var _i12 = 0, len = props.length; _i12 < len; _i12 += 1) {
2490
+ var _propName = props[_i12];
2525
2491
  attributeToPropMap[htmlPropertyToAttribute(_propName)] = _propName;
2526
2492
  descriptors[_propName] = {
2527
2493
  get: createGetter(_propName),
@@ -2531,8 +2497,8 @@
2531
2497
  };
2532
2498
  }
2533
2499
  // expose public methods as props on the new Element Bridge
2534
- for (var _i12 = 0, _len = methods.length; _i12 < _len; _i12 += 1) {
2535
- var methodName = methods[_i12];
2500
+ for (var _i13 = 0, _len = methods.length; _i13 < _len; _i13 += 1) {
2501
+ var methodName = methods[_i13];
2536
2502
  descriptors[methodName] = {
2537
2503
  value: createMethodCaller(methodName),
2538
2504
  writable: true,
@@ -2573,10 +2539,60 @@
2573
2539
  }
2574
2540
  freeze(BaseBridgeElement);
2575
2541
  seal(BaseBridgeElement.prototype);
2542
+ var swappedStyleMap = new WeakMap();
2543
+ var activeTemplates = new WeakMap();
2544
+ var activeComponents = new WeakMap();
2545
+ var activeStyles = new WeakMap();
2546
+ function getStyleOrSwappedStyle(style) {
2547
+ assertNotProd(); // this method should never leak to prod
2548
+ var visited = new Set();
2549
+ while (swappedStyleMap.has(style) && !visited.has(style)) {
2550
+ visited.add(style);
2551
+ style = swappedStyleMap.get(style);
2552
+ }
2553
+ return style;
2554
+ }
2576
2555
  function setActiveVM(vm) {
2577
- {
2578
- // this method should never leak to prod
2579
- throw new ReferenceError();
2556
+ assertNotProd(); // this method should never leak to prod
2557
+ // tracking active component
2558
+ var Ctor = vm.def.ctor;
2559
+ var componentVMs = activeComponents.get(Ctor);
2560
+ if (isUndefined$1(componentVMs)) {
2561
+ componentVMs = new Set();
2562
+ activeComponents.set(Ctor, componentVMs);
2563
+ }
2564
+ // this will allow us to keep track of the hot components
2565
+ componentVMs.add(vm);
2566
+ // tracking active template
2567
+ var tpl = vm.cmpTemplate;
2568
+ if (tpl) {
2569
+ var templateVMs = activeTemplates.get(tpl);
2570
+ if (isUndefined$1(templateVMs)) {
2571
+ templateVMs = new Set();
2572
+ activeTemplates.set(tpl, templateVMs);
2573
+ }
2574
+ // this will allow us to keep track of the templates that are
2575
+ // being used by a hot component
2576
+ templateVMs.add(vm);
2577
+ // tracking active styles associated to template
2578
+ var stylesheets = tpl.stylesheets;
2579
+ if (!isUndefined$1(stylesheets)) {
2580
+ flattenStylesheets(stylesheets).forEach(function (stylesheet) {
2581
+ // this is necessary because we don't hold the list of styles
2582
+ // in the vm, we only hold the selected (already swapped template)
2583
+ // but the styles attached to the template might not be the actual
2584
+ // active ones, but the swapped versions of those.
2585
+ stylesheet = getStyleOrSwappedStyle(stylesheet);
2586
+ var stylesheetVMs = activeStyles.get(stylesheet);
2587
+ if (isUndefined$1(stylesheetVMs)) {
2588
+ stylesheetVMs = new Set();
2589
+ activeStyles.set(stylesheet, stylesheetVMs);
2590
+ }
2591
+ // this will allow us to keep track of the stylesheet that are
2592
+ // being used by a hot component
2593
+ stylesheetVMs.add(vm);
2594
+ });
2595
+ }
2580
2596
  }
2581
2597
  }
2582
2598
  function swapTemplate(oldTpl, newTpl) {
@@ -2850,8 +2866,8 @@
2850
2866
  function evaluateStylesheetsContent(stylesheets, stylesheetToken, vm) {
2851
2867
  var content = [];
2852
2868
  var root;
2853
- for (var _i13 = 0; _i13 < stylesheets.length; _i13++) {
2854
- var stylesheet = stylesheets[_i13];
2869
+ for (var _i14 = 0; _i14 < stylesheets.length; _i14++) {
2870
+ var stylesheet = stylesheets[_i14];
2855
2871
  if (isArray$1(stylesheet)) {
2856
2872
  ArrayPush$1.apply(content, evaluateStylesheetsContent(stylesheet, stylesheetToken, vm));
2857
2873
  } else {
@@ -2951,8 +2967,8 @@
2951
2967
  shadowMode = vm.shadowMode,
2952
2968
  insertStylesheet = vm.renderer.insertStylesheet;
2953
2969
  if (renderMode === 1 /* RenderMode.Shadow */ && shadowMode === 1 /* ShadowMode.Synthetic */) {
2954
- for (var _i14 = 0; _i14 < stylesheets.length; _i14++) {
2955
- insertStylesheet(stylesheets[_i14]);
2970
+ for (var _i15 = 0; _i15 < stylesheets.length; _i15++) {
2971
+ insertStylesheet(stylesheets[_i15]);
2956
2972
  }
2957
2973
  } else if (vm.hydrated) {
2958
2974
  // Note: We need to ensure that during hydration, the stylesheets method is the same as those in ssr.
@@ -2965,8 +2981,8 @@
2965
2981
  var root = getNearestNativeShadowComponent(vm);
2966
2982
  // null root means a global style
2967
2983
  var target = isNull(root) ? undefined : root.shadowRoot;
2968
- for (var _i15 = 0; _i15 < stylesheets.length; _i15++) {
2969
- insertStylesheet(stylesheets[_i15], target);
2984
+ for (var _i16 = 0; _i16 < stylesheets.length; _i16++) {
2985
+ insertStylesheet(stylesheets[_i16], target);
2970
2986
  }
2971
2987
  }
2972
2988
  return null;
@@ -3268,8 +3284,8 @@
3268
3284
  return;
3269
3285
  }
3270
3286
  var setCSSStyleProperty = renderer.setCSSStyleProperty;
3271
- for (var _i16 = 0; _i16 < styleDecls.length; _i16++) {
3272
- var _styleDecls$_i = _slicedToArray(styleDecls[_i16], 3),
3287
+ for (var _i17 = 0; _i17 < styleDecls.length; _i17++) {
3288
+ var _styleDecls$_i = _slicedToArray(styleDecls[_i17], 3),
3273
3289
  prop = _styleDecls$_i[0],
3274
3290
  value = _styleDecls$_i[1],
3275
3291
  important = _styleDecls$_i[2];
@@ -3692,8 +3708,8 @@
3692
3708
  // If no VFragment is found in children, we don't need to traverse anything or mark the children dynamic and can return early.
3693
3709
  var nodeStack = [];
3694
3710
  var fragmentFound = false;
3695
- for (var _i17 = children.length - 1; _i17 > -1; _i17 -= 1) {
3696
- var child = children[_i17];
3711
+ for (var _i18 = children.length - 1; _i18 > -1; _i18 -= 1) {
3712
+ var child = children[_i18];
3697
3713
  ArrayPush$1.call(nodeStack, child);
3698
3714
  fragmentFound = fragmentFound || !!(child && isVFragment(child));
3699
3715
  }
@@ -3705,8 +3721,8 @@
3705
3721
  if (!isNull(currentNode) && isVFragment(currentNode)) {
3706
3722
  var fChildren = currentNode.children;
3707
3723
  // Ignore the start and end text node delimiters
3708
- for (var _i18 = fChildren.length - 2; _i18 > 0; _i18 -= 1) {
3709
- ArrayPush$1.call(nodeStack, fChildren[_i18]);
3724
+ for (var _i19 = fChildren.length - 2; _i19 > 0; _i19 -= 1) {
3725
+ ArrayPush$1.call(nodeStack, fChildren[_i19]);
3710
3726
  }
3711
3727
  } else {
3712
3728
  ArrayPush$1.call(flattenedChildren, currentNode);
@@ -3742,8 +3758,8 @@
3742
3758
  var oldSlotsMapping = vm.cmpSlots.slotAssignments;
3743
3759
  var cmpSlotsMapping = create(null);
3744
3760
  // Collect all slots into cmpSlotsMapping
3745
- for (var _i19 = 0, len = children.length; _i19 < len; _i19 += 1) {
3746
- var vnode = children[_i19];
3761
+ for (var _i20 = 0, len = children.length; _i20 < len; _i20 += 1) {
3762
+ var vnode = children[_i20];
3747
3763
  if (isNull(vnode)) {
3748
3764
  continue;
3749
3765
  }
@@ -3768,8 +3784,8 @@
3768
3784
  markComponentAsDirty(vm);
3769
3785
  return;
3770
3786
  }
3771
- for (var _i20 = 0, _len2 = oldKeys.length; _i20 < _len2; _i20 += 1) {
3772
- var key = oldKeys[_i20];
3787
+ for (var _i21 = 0, _len2 = oldKeys.length; _i21 < _len2; _i21 += 1) {
3788
+ var key = oldKeys[_i21];
3773
3789
  if (isUndefined$1(cmpSlotsMapping[key]) || oldSlotsMapping[key].length !== cmpSlotsMapping[key].length) {
3774
3790
  markComponentAsDirty(vm);
3775
3791
  return;
@@ -3892,11 +3908,11 @@
3892
3908
  if (oldStartIdx > oldEndIdx) {
3893
3909
  // There's some cases in which the sub array of vnodes to be inserted is followed by null(s) and an
3894
3910
  // already processed vnode, in such cases the vnodes to be inserted should be before that processed vnode.
3895
- var _i21 = newEndIdx;
3911
+ var _i22 = newEndIdx;
3896
3912
  var n;
3897
3913
  do {
3898
- n = newCh[++_i21];
3899
- } while (!isVNode(n) && _i21 < newChEnd);
3914
+ n = newCh[++_i22];
3915
+ } while (!isVNode(n) && _i22 < newChEnd);
3900
3916
  before = isVNode(n) ? n.elm : null;
3901
3917
  mountVNodes(newCh, parent, renderer, before, newStartIdx, newEndIdx + 1);
3902
3918
  } else {
@@ -3921,9 +3937,9 @@
3921
3937
  // if the old list is not empty, the new list MUST have the same
3922
3938
  // amount of nodes, that's why we call this static children
3923
3939
  var anchor = null;
3924
- for (var _i22 = c2Length - 1; _i22 >= 0; _i22 -= 1) {
3925
- var n1 = c1[_i22];
3926
- var n2 = c2[_i22];
3940
+ for (var _i23 = c2Length - 1; _i23 >= 0; _i23 -= 1) {
3941
+ var n1 = c1[_i23];
3942
+ var n2 = c2[_i23];
3927
3943
  if (n2 !== n1) {
3928
3944
  if (isVNode(n1)) {
3929
3945
  if (isVNode(n2)) {
@@ -4020,8 +4036,8 @@
4020
4036
  if (!isUndefined$1(slotset) && !isUndefined$1(slotset.slotAssignments) && !isUndefined$1(slotset.slotAssignments[slotName]) && slotset.slotAssignments[slotName].length !== 0) {
4021
4037
  var newChildren = [];
4022
4038
  var slotAssignments = slotset.slotAssignments[slotName];
4023
- for (var _i23 = 0; _i23 < slotAssignments.length; _i23++) {
4024
- var vnode = slotAssignments[_i23];
4039
+ for (var _i24 = 0; _i24 < slotAssignments.length; _i24++) {
4040
+ var vnode = slotAssignments[_i24];
4025
4041
  if (!isNull(vnode)) {
4026
4042
  var assignedNodeIsScopedSlot = isVScopedSlotFragment(vnode);
4027
4043
  // The only sniff test for a scoped <slot> element is the presence of `slotData`
@@ -4356,9 +4372,18 @@
4356
4372
  vmBeingRendered = vm;
4357
4373
  }
4358
4374
  function validateSlots(vm, html) {
4359
- {
4360
- // this method should never leak to prod
4361
- throw new ReferenceError();
4375
+ assertNotProd(); // this method should never leak to prod
4376
+ var cmpSlots = vm.cmpSlots;
4377
+ var _html$slots = html.slots,
4378
+ slots = _html$slots === void 0 ? EmptyArray : _html$slots;
4379
+ for (var slotName in cmpSlots.slotAssignments) {
4380
+ // eslint-disable-next-line @lwc/lwc-internal/no-production-assert
4381
+ assert.isTrue(isArray$1(cmpSlots.slotAssignments[slotName]), "Slots can only be set to an array, instead received ".concat(toString$1(cmpSlots.slotAssignments[slotName]), " for slot \"").concat(slotName, "\" in ").concat(vm, "."));
4382
+ if (slotName !== '' && ArrayIndexOf.call(slots, slotName) === -1) {
4383
+ // TODO [#1297]: this should never really happen because the compiler should always validate
4384
+ // eslint-disable-next-line @lwc/lwc-internal/no-production-assert
4385
+ logError("Ignoring unknown provided slot name \"".concat(slotName, "\" in ").concat(vm, ". Check for a typo on the slot attribute."), vm);
4386
+ }
4362
4387
  }
4363
4388
  }
4364
4389
  function validateLightDomTemplate(template, vm) {
@@ -4400,23 +4425,23 @@
4400
4425
  var classAttrToken = hasScopedStyles && hasStyleToken ? " class=\"".concat(stylesheetToken, "\"") : '';
4401
4426
  var attrToken = hasStyleToken && isSyntheticShadow ? ' ' + stylesheetToken : '';
4402
4427
  var htmlFragment = '';
4403
- for (var _i24 = 0, n = keys.length; _i24 < n; _i24++) {
4404
- switch (keys[_i24]) {
4428
+ for (var _i25 = 0, n = keys.length; _i25 < n; _i25++) {
4429
+ switch (keys[_i25]) {
4405
4430
  case 0:
4406
4431
  // styleToken in existing class attr
4407
- htmlFragment += strings[_i24] + classToken;
4432
+ htmlFragment += strings[_i25] + classToken;
4408
4433
  break;
4409
4434
  case 1:
4410
4435
  // styleToken for added class attr
4411
- htmlFragment += strings[_i24] + classAttrToken;
4436
+ htmlFragment += strings[_i25] + classAttrToken;
4412
4437
  break;
4413
4438
  case 2:
4414
4439
  // styleToken as attr
4415
- htmlFragment += strings[_i24] + attrToken;
4440
+ htmlFragment += strings[_i25] + attrToken;
4416
4441
  break;
4417
4442
  case 3:
4418
4443
  // ${1}${2}
4419
- htmlFragment += strings[_i24] + classAttrToken + attrToken;
4444
+ htmlFragment += strings[_i25] + classAttrToken + attrToken;
4420
4445
  break;
4421
4446
  }
4422
4447
  }
@@ -4482,9 +4507,7 @@
4482
4507
  }
4483
4508
  if ("production" !== 'production') ;
4484
4509
  // reset the refs; they will be set during the tmpl() instantiation
4485
- var hasRefVNodes = Boolean(html.hasRefs);
4486
- vm.hasRefVNodes = hasRefVNodes;
4487
- vm.refVNodes = hasRefVNodes ? create(null) : null;
4510
+ vm.refVNodes = html.hasRefs ? create(null) : null;
4488
4511
  // right before producing the vnodes, we clear up all internal references
4489
4512
  // to custom elements from the template.
4490
4513
  vm.velements = [];
@@ -4506,8 +4529,8 @@
4506
4529
  }
4507
4530
  function computeHasScopedStylesInStylesheets(stylesheets) {
4508
4531
  if (hasStyles(stylesheets)) {
4509
- for (var _i25 = 0; _i25 < stylesheets.length; _i25++) {
4510
- if (isTrue(stylesheets[_i25][KEY__SCOPED_CSS])) {
4532
+ for (var _i26 = 0; _i26 < stylesheets.length; _i26++) {
4533
+ if (isTrue(stylesheets[_i26][KEY__SCOPED_CSS])) {
4511
4534
  return true;
4512
4535
  }
4513
4536
  }
@@ -4646,7 +4669,7 @@
4646
4669
  var cmpEventListenerMap = new WeakMap();
4647
4670
  function getWrappedComponentsListener(vm, listener) {
4648
4671
  if (!isFunction$1(listener)) {
4649
- throw new TypeError(); // avoiding problems with non-valid listeners
4672
+ throw new TypeError('Expected an EventListener but received ' + _typeof(listener)); // avoiding problems with non-valid listeners
4650
4673
  }
4651
4674
 
4652
4675
  var wrappedListener = cmpEventListenerMap.get(listener);
@@ -4673,8 +4696,8 @@
4673
4696
  * subject to change or being removed.
4674
4697
  */
4675
4698
  function register(service) {
4676
- for (var _i26 = 0; _i26 < hooks.length; ++_i26) {
4677
- var hookName = hooks[_i26];
4699
+ for (var _i27 = 0; _i27 < hooks.length; ++_i27) {
4700
+ var hookName = hooks[_i27];
4678
4701
  if (hookName in service) {
4679
4702
  var l = Services[hookName];
4680
4703
  if (isUndefined$1(l)) {
@@ -4688,8 +4711,8 @@
4688
4711
  var component = vm.component,
4689
4712
  def = vm.def,
4690
4713
  context = vm.context;
4691
- for (var _i27 = 0, len = cbs.length; _i27 < len; ++_i27) {
4692
- cbs[_i27].call(undefined, component, {}, def, context);
4714
+ for (var _i28 = 0, len = cbs.length; _i28 < len; ++_i28) {
4715
+ cbs[_i28].call(undefined, component, {}, def, context);
4693
4716
  }
4694
4717
  }
4695
4718
 
@@ -4777,7 +4800,6 @@
4777
4800
  mode: mode,
4778
4801
  owner: owner,
4779
4802
  refVNodes: null,
4780
- hasRefVNodes: false,
4781
4803
  children: EmptyArray,
4782
4804
  aChildren: EmptyArray,
4783
4805
  velements: EmptyArray,
@@ -4827,8 +4849,8 @@
4827
4849
  var valid = true;
4828
4850
  var validate = function validate(arrayOrStylesheet) {
4829
4851
  if (isArray$1(arrayOrStylesheet)) {
4830
- for (var _i28 = 0; _i28 < arrayOrStylesheet.length; _i28++) {
4831
- validate(arrayOrStylesheet[_i28]);
4852
+ for (var _i29 = 0; _i29 < arrayOrStylesheet.length; _i29++) {
4853
+ validate(arrayOrStylesheet[_i29]);
4832
4854
  }
4833
4855
  } else if (!isFunction$1(arrayOrStylesheet)) {
4834
4856
  // function assumed to be a stylesheet factory
@@ -4963,17 +4985,17 @@
4963
4985
  return a.idx - b.idx;
4964
4986
  });
4965
4987
  rehydrateQueue = []; // reset to a new queue
4966
- for (var _i29 = 0, len = vms.length; _i29 < len; _i29 += 1) {
4967
- var vm = vms[_i29];
4988
+ for (var _i30 = 0, len = vms.length; _i30 < len; _i30 += 1) {
4989
+ var vm = vms[_i30];
4968
4990
  try {
4969
4991
  rehydrate(vm);
4970
4992
  } catch (error) {
4971
- if (_i29 + 1 < len) {
4993
+ if (_i30 + 1 < len) {
4972
4994
  // pieces of the queue are still pending to be rehydrated, those should have priority
4973
4995
  if (rehydrateQueue.length === 0) {
4974
4996
  addCallbackToNextTick(flushRehydrationQueue);
4975
4997
  }
4976
- ArrayUnshift.apply(rehydrateQueue, ArraySlice.call(vms, _i29 + 1));
4998
+ ArrayUnshift.apply(rehydrateQueue, ArraySlice.call(vms, _i30 + 1));
4977
4999
  }
4978
5000
  // we need to end the measure before throwing.
4979
5001
  logGlobalOperationEnd(8 /* OperationId.GlobalRehydrate */);
@@ -5039,8 +5061,8 @@
5039
5061
  var vCustomElementCollection = vm.velements;
5040
5062
  // Reporting disconnection for every child in inverse order since they are
5041
5063
  // inserted in reserved order.
5042
- for (var _i30 = vCustomElementCollection.length - 1; _i30 >= 0; _i30 -= 1) {
5043
- var elm = vCustomElementCollection[_i30].elm;
5064
+ for (var _i31 = vCustomElementCollection.length - 1; _i31 >= 0; _i31 -= 1) {
5065
+ var elm = vCustomElementCollection[_i31].elm;
5044
5066
  // There are two cases where the element could be undefined:
5045
5067
  // * when there is an error during the construction phase, and an error
5046
5068
  // boundary picks it, there is a possibility that the VCustomElement
@@ -5071,8 +5093,8 @@
5071
5093
  * defined on its shadow.
5072
5094
  */
5073
5095
  function recursivelyDisconnectChildren(vnodes) {
5074
- for (var _i31 = 0, len = vnodes.length; _i31 < len; _i31 += 1) {
5075
- var vnode = vnodes[_i31];
5096
+ for (var _i32 = 0, len = vnodes.length; _i32 < len; _i32 += 1) {
5097
+ var vnode = vnodes[_i32];
5076
5098
  if (!isNull(vnode) && !isUndefined$1(vnode.elm)) {
5077
5099
  switch (vnode.type) {
5078
5100
  case 2 /* VNodeType.Element */:
@@ -5096,8 +5118,8 @@
5096
5118
  var children = vm.children,
5097
5119
  renderRoot = vm.renderRoot,
5098
5120
  remove = vm.renderer.remove;
5099
- for (var _i32 = 0, len = children.length; _i32 < len; _i32++) {
5100
- var child = children[_i32];
5121
+ for (var _i33 = 0, len = children.length; _i33 < len; _i33++) {
5122
+ var child = children[_i33];
5101
5123
  if (!isNull(child) && !isUndefined$1(child.elm)) {
5102
5124
  remove(child.elm, renderRoot);
5103
5125
  }
@@ -5197,17 +5219,17 @@
5197
5219
  // if our id is null or empty, nobody can reference us
5198
5220
  return;
5199
5221
  }
5200
- var _iterator5 = _createForOfIteratorHelper(ID_REFERENCING_ATTRIBUTES_SET),
5201
- _step5;
5222
+ var _iterator4 = _createForOfIteratorHelper(ID_REFERENCING_ATTRIBUTES_SET),
5223
+ _step4;
5202
5224
  try {
5203
- for (_iterator5.s(); !(_step5 = _iterator5.n()).done;) {
5204
- var idRefAttrName = _step5.value;
5225
+ for (_iterator4.s(); !(_step4 = _iterator4.n()).done;) {
5226
+ var idRefAttrName = _step4.value;
5205
5227
  // Query all global elements with this attribute. The attribute selector syntax `~=` is for values
5206
5228
  // that reference multiple IDs, separated by whitespace.
5207
5229
  var query = "[".concat(idRefAttrName, "~=\"").concat(CSS.escape(attrValue), "\"]");
5208
5230
  var sourceElements = querySelectorAll.call(document, query);
5209
- for (var _i33 = 0; _i33 < sourceElements.length; _i33++) {
5210
- var sourceElement = sourceElements[_i33];
5231
+ for (var _i34 = 0; _i34 < sourceElements.length; _i34++) {
5232
+ var sourceElement = sourceElements[_i34];
5211
5233
  var sourceRoot = sourceElement.getRootNode();
5212
5234
  if (sourceRoot !== root) {
5213
5235
  reportViolation(sourceElement, elm, idRefAttrName);
@@ -5216,18 +5238,18 @@
5216
5238
  }
5217
5239
  }
5218
5240
  } catch (err) {
5219
- _iterator5.e(err);
5241
+ _iterator4.e(err);
5220
5242
  } finally {
5221
- _iterator5.f();
5243
+ _iterator4.f();
5222
5244
  }
5223
5245
  } else {
5224
5246
  // elm is the source, find the target
5225
5247
  var ids = parseIdRefAttributeValue(attrValue);
5226
- var _iterator6 = _createForOfIteratorHelper(ids),
5227
- _step6;
5248
+ var _iterator5 = _createForOfIteratorHelper(ids),
5249
+ _step5;
5228
5250
  try {
5229
- for (_iterator6.s(); !(_step6 = _iterator6.n()).done;) {
5230
- var id = _step6.value;
5251
+ for (_iterator5.s(); !(_step5 = _iterator5.n()).done;) {
5252
+ var id = _step5.value;
5231
5253
  var target = getElementById.call(document, id);
5232
5254
  if (!isNull(target)) {
5233
5255
  var targetRoot = target.getRootNode();
@@ -5238,9 +5260,9 @@
5238
5260
  }
5239
5261
  }
5240
5262
  } catch (err) {
5241
- _iterator6.e(err);
5263
+ _iterator5.e(err);
5242
5264
  } finally {
5243
- _iterator6.f();
5265
+ _iterator5.f();
5244
5266
  }
5245
5267
  }
5246
5268
  }
@@ -5511,8 +5533,8 @@
5511
5533
  var nextNode = node;
5512
5534
  var anchor = null;
5513
5535
  var renderer = owner.renderer;
5514
- for (var _i34 = 0; _i34 < children.length; _i34++) {
5515
- var childVnode = children[_i34];
5536
+ for (var _i35 = 0; _i35 < children.length; _i35++) {
5537
+ var childVnode = children[_i35];
5516
5538
  if (!isNull(childVnode)) {
5517
5539
  if (nextNode) {
5518
5540
  nextNode = hydrateNode(nextNode, childVnode, renderer);
@@ -5573,8 +5595,8 @@
5573
5595
  var nodesAreCompatible = true;
5574
5596
  // Validate attributes, though we could always recovery from those by running the update mods.
5575
5597
  // Note: intentionally ONLY matching vnodes.attrs to elm.attrs, in case SSR is adding extra attributes.
5576
- for (var _i35 = 0, _Object$entries = Object.entries(attrs); _i35 < _Object$entries.length; _i35++) {
5577
- var _Object$entries$_i = _slicedToArray(_Object$entries[_i35], 2),
5598
+ for (var _i36 = 0, _Object$entries = Object.entries(attrs); _i36 < _Object$entries.length; _i36++) {
5599
+ var _Object$entries$_i = _slicedToArray(_Object$entries[_i36], 2),
5578
5600
  attrName = _Object$entries$_i[0],
5579
5601
  attrValue = _Object$entries$_i[1];
5580
5602
  vnode.owner;
@@ -5661,8 +5683,8 @@
5661
5683
  var parsedVnodeStyle = parseStyleText(elmStyle);
5662
5684
  var expectedStyle = [];
5663
5685
  // styleMap is used when style is set to static value.
5664
- for (var _i36 = 0, n = styleDecls.length; _i36 < n; _i36++) {
5665
- var _styleDecls$_i2 = _slicedToArray(styleDecls[_i36], 3),
5686
+ for (var _i37 = 0, n = styleDecls.length; _i37 < n; _i37++) {
5687
+ var _styleDecls$_i2 = _slicedToArray(styleDecls[_i37], 3),
5666
5688
  prop = _styleDecls$_i2[0],
5667
5689
  value = _styleDecls$_i2[1],
5668
5690
  important = _styleDecls$_i2[2];
@@ -5736,8 +5758,8 @@
5736
5758
  // Deep-traverse an array (of arrays) of stylesheet factory functions, and call the callback for every array/function
5737
5759
  function traverseStylesheets(stylesheets, callback) {
5738
5760
  callback(stylesheets);
5739
- for (var _i37 = 0; _i37 < stylesheets.length; _i37++) {
5740
- var stylesheet = stylesheets[_i37];
5761
+ for (var _i38 = 0; _i38 < stylesheets.length; _i38++) {
5762
+ var stylesheet = stylesheets[_i38];
5741
5763
  if (isArray$1(stylesheet)) {
5742
5764
  traverseStylesheets(stylesheet, callback);
5743
5765
  } else {
@@ -5991,7 +6013,7 @@
5991
6013
  var cachedConstructors = new Map();
5992
6014
  var elementsUpgradedOutsideLWC = new WeakSet();
5993
6015
  var elementBeingUpgradedByLWC = false;
5994
- // Creates a constructor that is intended to be used as a vanilla custom element, except that the upgradeCallback is
6016
+ // Creates a constructor that is intended to be used directly as a custom element, except that the upgradeCallback is
5995
6017
  // passed in to the constructor so LWC can reuse the same custom element constructor for multiple components.
5996
6018
  // Another benefit is that only LWC can create components that actually do anything – if you do
5997
6019
  // `customElements.define('x-foo')`, then you don't have access to the upgradeCallback, so it's a dummy custom element.
@@ -6040,7 +6062,7 @@
6040
6062
  }
6041
6063
  return UpgradableConstructor;
6042
6064
  };
6043
- var createCustomElementVanilla = function createCustomElementVanilla(tagName, upgradeCallback, connectedCallback, disconnectedCallback) {
6065
+ var createCustomElementUsingUpgradableConstructor = function createCustomElementUsingUpgradableConstructor(tagName, upgradeCallback, connectedCallback, disconnectedCallback) {
6044
6066
  // use global custom elements registry
6045
6067
  var UpgradableConstructor = cachedConstructors.get(tagName);
6046
6068
  if (isUndefined$1(UpgradableConstructor)) {
@@ -6067,7 +6089,7 @@
6067
6089
  */
6068
6090
  /**
6069
6091
  * Create a scoped registry, i.e. a function that can create custom elements whose tag names
6070
- * do not conflict with vanilla custom elements having the same tag name.
6092
+ * do not conflict with third-party custom elements having the same tag name.
6071
6093
  */
6072
6094
  function createScopedRegistry() {
6073
6095
  if (!hasCustomElements) {
@@ -6398,17 +6420,17 @@
6398
6420
  function flushPendingWhenDefinedCallbacks(tagName, ctor) {
6399
6421
  var resolvers = pendingWhenDefinedCallbacks.get(tagName);
6400
6422
  if (!isUndefined$1(resolvers)) {
6401
- var _iterator10 = _createForOfIteratorHelper(resolvers),
6402
- _step10;
6423
+ var _iterator9 = _createForOfIteratorHelper(resolvers),
6424
+ _step9;
6403
6425
  try {
6404
- for (_iterator10.s(); !(_step10 = _iterator10.n()).done;) {
6405
- var resolver = _step10.value;
6426
+ for (_iterator9.s(); !(_step9 = _iterator9.n()).done;) {
6427
+ var resolver = _step9.value;
6406
6428
  resolver(ctor);
6407
6429
  }
6408
6430
  } catch (err) {
6409
- _iterator10.e(err);
6431
+ _iterator9.e(err);
6410
6432
  } finally {
6411
- _iterator10.f();
6433
+ _iterator9.f();
6412
6434
  }
6413
6435
  }
6414
6436
  pendingWhenDefinedCallbacks.delete(tagName);
@@ -6458,11 +6480,11 @@
6458
6480
  var awaiting = awaitingUpgrade.get(tagName);
6459
6481
  if (!isUndefined$1(awaiting)) {
6460
6482
  awaitingUpgrade.delete(tagName);
6461
- var _iterator11 = _createForOfIteratorHelper(awaiting),
6462
- _step11;
6483
+ var _iterator10 = _createForOfIteratorHelper(awaiting),
6484
+ _step10;
6463
6485
  try {
6464
- for (_iterator11.s(); !(_step11 = _iterator11.n()).done;) {
6465
- var element = _step11.value;
6486
+ for (_iterator10.s(); !(_step10 = _iterator10.n()).done;) {
6487
+ var element = _step10.value;
6466
6488
  var registeredDefinition = pendingRegistryForElement.get(element);
6467
6489
  // At this point, registeredDefinition should never be undefined because awaitingUpgrade
6468
6490
  // is only populated when we haven't run internalUpgrade yet, and we only populate
@@ -6474,9 +6496,9 @@
6474
6496
  }
6475
6497
  }
6476
6498
  } catch (err) {
6477
- _iterator11.e(err);
6499
+ _iterator10.e(err);
6478
6500
  } finally {
6479
- _iterator11.f();
6501
+ _iterator10.f();
6480
6502
  }
6481
6503
  }
6482
6504
  // If anyone called customElements.whenDefined() and is still waiting for a promise resolution, resolve now
@@ -6673,10 +6695,10 @@
6673
6695
  * We have three modes for creating custom elements:
6674
6696
  *
6675
6697
  * 1. Compat (legacy) browser support (e.g. IE11). Totally custom, doesn't rely on native browser APIs.
6676
- * 2. "Vanilla" custom elements registry. This system actually still allows us to have two LWC components with the
6677
- * same tag name, via a simple trick: every custom element constructor we define in the registry is basically
6678
- * the same. It's essentially a dummy `class extends HTMLElement` that accepts an `upgradeCallback` in its
6679
- * constructor, which allows us to have completely customized functionality for different components.
6698
+ * 2. "Upgradable constructor" custom element. This allows us to have two LWC components with the same tag name,
6699
+ * via a trick: every custom element constructor we define in the registry is basically the same. It's essentially
6700
+ * a dummy `class extends HTMLElement` that accepts an `upgradeCallback` in its constructor ("upgradable
6701
+ * constructor"), which allows us to have completely customized functionality for different components.
6680
6702
  * 3. "Scoped" (or "pivot") custom elements. This relies on a sophisticated system that emulates the "scoped custom
6681
6703
  * elements registry" proposal, with support for avoiding conflicts in tag names both between LWC components and
6682
6704
  * between LWC components and third-party elements. This uses a similar trick to #2, but is much more complex
@@ -6687,8 +6709,8 @@
6687
6709
  if (lwcRuntimeFlags.ENABLE_SCOPED_CUSTOM_ELEMENT_REGISTRY) {
6688
6710
  createCustomElement = createCustomElementScoped;
6689
6711
  } else {
6690
- // use global custom elements registry (vanilla)
6691
- createCustomElement = createCustomElementVanilla;
6712
+ // use the global registry, with an upgradable constructor for the defined custom element
6713
+ createCustomElement = createCustomElementUsingUpgradableConstructor;
6692
6714
  }
6693
6715
  } else {
6694
6716
  // no registry available here
@@ -6742,10 +6764,10 @@
6742
6764
  }
6743
6765
  var assert = /*#__PURE__*/Object.freeze({
6744
6766
  __proto__: null,
6767
+ fail: fail,
6745
6768
  invariant: invariant,
6746
- isTrue: isTrue$1,
6747
6769
  isFalse: isFalse$1,
6748
- fail: fail
6770
+ isTrue: isTrue$1
6749
6771
  });
6750
6772
  function isUndefined(obj) {
6751
6773
  return obj === undefined;
@@ -6753,7 +6775,7 @@
6753
6775
  function isNull(obj) {
6754
6776
  return obj === null;
6755
6777
  }
6756
- /** version: 2.35.0 */
6778
+ /** version: 2.35.2 */
6757
6779
 
6758
6780
  /*
6759
6781
  * Copyright (c) 2018, salesforce.com, inc.
@@ -6812,17 +6834,17 @@
6812
6834
  exports.createFragment = function (html) {
6813
6835
  var wrapperTags = topLevelWrappingMap[getTagName(html)];
6814
6836
  if (!isUndefined(wrapperTags)) {
6815
- var _iterator12 = _createForOfIteratorHelper(wrapperTags),
6816
- _step12;
6837
+ var _iterator11 = _createForOfIteratorHelper(wrapperTags),
6838
+ _step11;
6817
6839
  try {
6818
- for (_iterator12.s(); !(_step12 = _iterator12.n()).done;) {
6819
- var wrapperTag = _step12.value;
6840
+ for (_iterator11.s(); !(_step11 = _iterator11.n()).done;) {
6841
+ var wrapperTag = _step11.value;
6820
6842
  html = "<".concat(wrapperTag, ">").concat(html, "</").concat(wrapperTag, ">");
6821
6843
  }
6822
6844
  } catch (err) {
6823
- _iterator12.e(err);
6845
+ _iterator11.e(err);
6824
6846
  } finally {
6825
- _iterator12.f();
6847
+ _iterator11.f();
6826
6848
  }
6827
6849
  }
6828
6850
  // For IE11, the document title must not be undefined, but it can be an empty string
@@ -6831,7 +6853,7 @@
6831
6853
  doc.body.innerHTML = html;
6832
6854
  var content = doc.body;
6833
6855
  if (!isUndefined(wrapperTags)) {
6834
- for (var _i38 = 0; _i38 < wrapperTags.length; _i38++) {
6856
+ for (var _i39 = 0; _i39 < wrapperTags.length; _i39++) {
6835
6857
  content = content.firstChild;
6836
6858
  }
6837
6859
  }
@@ -7024,8 +7046,8 @@
7024
7046
  tagName: element.tagName.toLowerCase(),
7025
7047
  hydrated: true
7026
7048
  });
7027
- for (var _i39 = 0, _Object$entries2 = Object.entries(props); _i39 < _Object$entries2.length; _i39++) {
7028
- var _Object$entries2$_i = _slicedToArray(_Object$entries2[_i39], 2),
7049
+ for (var _i40 = 0, _Object$entries2 = Object.entries(props); _i40 < _Object$entries2.length; _i40++) {
7050
+ var _Object$entries2$_i = _slicedToArray(_Object$entries2[_i40], 2),
7029
7051
  key = _Object$entries2$_i[0],
7030
7052
  value = _Object$entries2$_i[1];
7031
7053
  element[key] = value;
@@ -7312,7 +7334,7 @@
7312
7334
  });
7313
7335
  freeze(LightningElement);
7314
7336
  seal(LightningElement.prototype);
7315
- /* version: 2.35.0 */
7337
+ /* version: 2.35.2 */
7316
7338
 
7317
7339
  exports.LightningElement = LightningElement;
7318
7340
  exports.__unstable__ProfilerControl = profilerControl;