lwc 2.21.1 → 2.23.1

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 +222 -199
  2. package/dist/engine-dom/iife/es2017/engine-dom.js +222 -199
  3. package/dist/engine-dom/iife/es2017/engine-dom.min.js +1 -1
  4. package/dist/engine-dom/iife/es2017/engine-dom_debug.js +211 -188
  5. package/dist/engine-dom/iife/es5/engine-dom.js +263 -216
  6. package/dist/engine-dom/iife/es5/engine-dom.min.js +1 -1
  7. package/dist/engine-dom/iife/es5/engine-dom_debug.js +239 -192
  8. package/dist/engine-dom/umd/es2017/engine-dom.js +222 -199
  9. package/dist/engine-dom/umd/es2017/engine-dom.min.js +1 -1
  10. package/dist/engine-dom/umd/es2017/engine-dom_debug.js +211 -188
  11. package/dist/engine-dom/umd/es5/engine-dom.js +263 -216
  12. package/dist/engine-dom/umd/es5/engine-dom.min.js +1 -1
  13. package/dist/engine-dom/umd/es5/engine-dom_debug.js +239 -192
  14. package/dist/engine-server/commonjs/es2017/engine-server.js +116 -403
  15. package/dist/engine-server/commonjs/es2017/engine-server.min.js +1 -1
  16. package/dist/engine-server/esm/es2017/engine-server.js +116 -403
  17. package/dist/synthetic-shadow/esm/es2017/synthetic-shadow.js +30 -27
  18. package/dist/synthetic-shadow/iife/es2017/synthetic-shadow.js +30 -27
  19. package/dist/synthetic-shadow/iife/es2017/synthetic-shadow.min.js +2 -2
  20. package/dist/synthetic-shadow/iife/es2017/synthetic-shadow_debug.js +29 -26
  21. package/dist/synthetic-shadow/iife/es5/synthetic-shadow.js +32 -31
  22. package/dist/synthetic-shadow/iife/es5/synthetic-shadow.min.js +2 -2
  23. package/dist/synthetic-shadow/iife/es5/synthetic-shadow_debug.js +31 -30
  24. package/dist/synthetic-shadow/umd/es2017/synthetic-shadow.js +30 -27
  25. package/dist/synthetic-shadow/umd/es2017/synthetic-shadow.min.js +2 -2
  26. package/dist/synthetic-shadow/umd/es2017/synthetic-shadow_debug.js +29 -26
  27. package/dist/synthetic-shadow/umd/es5/synthetic-shadow.js +32 -31
  28. package/dist/synthetic-shadow/umd/es5/synthetic-shadow.min.js +2 -2
  29. package/dist/synthetic-shadow/umd/es5/synthetic-shadow_debug.js +31 -30
  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
@@ -346,7 +346,11 @@ var LWC = (function (exports) {
346
346
  CACHED_PROPERTY_ATTRIBUTE_MAPPING.set(propName, attributeName);
347
347
  return attributeName;
348
348
  }
349
- /** version: 2.21.1 */
349
+ /** version: 2.23.1 */
350
+
351
+ /**
352
+ * Copyright (C) 2018 salesforce.com, inc.
353
+ */
350
354
 
351
355
  /*
352
356
  * Copyright (c) 2018, salesforce.com, inc.
@@ -356,7 +360,7 @@ var LWC = (function (exports) {
356
360
  */
357
361
 
358
362
  function detect(propName) {
359
- return Object.getOwnPropertyDescriptor(Element.prototype, propName) === undefined;
363
+ return getOwnPropertyDescriptor$1(Element.prototype, propName) === undefined;
360
364
  }
361
365
  /*
362
366
  * Copyright (c) 2018, salesforce.com, inc.
@@ -436,6 +440,8 @@ var LWC = (function (exports) {
436
440
  patch$1(propName);
437
441
  }
438
442
  }
443
+ /** version: 2.23.1 */
444
+
439
445
  /**
440
446
  * Copyright (C) 2018 salesforce.com, inc.
441
447
  */
@@ -468,7 +474,7 @@ var LWC = (function (exports) {
468
474
  });
469
475
  }
470
476
 
471
- var runtimeFlags = _globalThis.lwcRuntimeFlags;
477
+ var lwcRuntimeFlags = _globalThis.lwcRuntimeFlags;
472
478
  /**
473
479
  * Set the value at runtime of a given feature flag. This method only be invoked once per feature
474
480
  * flag. It is meant to be used during the app initialization.
@@ -496,7 +502,7 @@ var LWC = (function (exports) {
496
502
 
497
503
  {
498
504
  // Disallow the same flag to be set more than once in production
499
- var runtimeValue = runtimeFlags[name];
505
+ var runtimeValue = lwcRuntimeFlags[name];
500
506
 
501
507
  if (!isUndefined$1(runtimeValue)) {
502
508
  // eslint-disable-next-line no-console
@@ -504,7 +510,7 @@ var LWC = (function (exports) {
504
510
  return;
505
511
  }
506
512
 
507
- defineProperty(runtimeFlags, name, {
513
+ defineProperty(lwcRuntimeFlags, name, {
508
514
  value: value
509
515
  });
510
516
  }
@@ -734,20 +740,24 @@ var LWC = (function (exports) {
734
740
 
735
741
  return ReactiveObserver;
736
742
  }();
737
- /*
738
- * Copyright (c) 2018, salesforce.com, inc.
739
- * All rights reserved.
740
- * SPDX-License-Identifier: MIT
741
- * For full license text, see the LICENSE file in the repo root or https://opensource.org/licenses/MIT
742
- */
743
-
744
743
 
745
744
  function componentValueMutated(vm, key) {
746
- valueMutated(vm.component, key);
745
+ // On the server side, we don't need mutation tracking. Skipping it improves performance.
746
+ {
747
+ valueMutated(vm.component, key);
748
+ }
747
749
  }
748
750
 
749
751
  function componentValueObserved(vm, key) {
750
- valueObserved(vm.component, key);
752
+ // On the server side, we don't need mutation tracking. Skipping it improves performance.
753
+ {
754
+ valueObserved(vm.component, key);
755
+ }
756
+ }
757
+
758
+ function createReactiveObserver(callback) {
759
+ // On the server side, we don't need mutation tracking. Skipping it improves performance.
760
+ return new ReactiveObserver(callback);
751
761
  }
752
762
  /*
753
763
  * Copyright (c) 2018, salesforce.com, inc.
@@ -1012,6 +1022,15 @@ var LWC = (function (exports) {
1012
1022
  HTMLElementOriginalDescriptors[propName] = descriptor;
1013
1023
  }
1014
1024
  });
1025
+
1026
+ function updateComponentValue(vm, key, newValue) {
1027
+ var cmpFields = vm.cmpFields;
1028
+
1029
+ if (newValue !== cmpFields[key]) {
1030
+ cmpFields[key] = newValue;
1031
+ componentValueMutated(vm, key);
1032
+ }
1033
+ }
1015
1034
  /**
1016
1035
  * Copyright (C) 2017 salesforce.com, inc.
1017
1036
  */
@@ -1672,8 +1691,28 @@ var LWC = (function (exports) {
1672
1691
  */
1673
1692
 
1674
1693
  function unwrap(value) {
1694
+ // On the server side, we don't need mutation tracking. Skipping it improves performance.
1675
1695
  return reactiveMembrane.unwrapProxy(value);
1676
1696
  }
1697
+
1698
+ function getReadOnlyProxy(value) {
1699
+ // We must return a frozen wrapper around the value, so that child components cannot mutate properties passed to
1700
+ // them from their parents. This applies to both the client and server.
1701
+ return reactiveMembrane.getReadOnlyProxy(value);
1702
+ }
1703
+
1704
+ function getReactiveProxy(value) {
1705
+ // On the server side, we don't need mutation tracking. Skipping it improves performance.
1706
+ return reactiveMembrane.getProxy(value);
1707
+ } // Making the component instance a live value when using Locker to support expandos.
1708
+
1709
+
1710
+ function markLockerLiveObject(obj) {
1711
+ // On the server side, we don't need mutation tracking. Skipping it improves performance.
1712
+ {
1713
+ obj[lockerLivePropertyKey] = undefined;
1714
+ }
1715
+ }
1677
1716
  /*
1678
1717
  * Copyright (c) 2018, salesforce.com, inc.
1679
1718
  * All rights reserved.
@@ -1722,11 +1761,7 @@ var LWC = (function (exports) {
1722
1761
  set: function set(newValue) {
1723
1762
  var vm = getAssociatedVM(this);
1724
1763
 
1725
- if (newValue !== vm.cmpProps[propName]) {
1726
- vm.cmpProps[propName] = newValue;
1727
- componentValueMutated(vm, propName);
1728
- }
1729
-
1764
+ updateComponentValue(vm, propName, newValue);
1730
1765
  return _set.call(vm.elm, newValue);
1731
1766
  }
1732
1767
  };
@@ -1764,10 +1799,9 @@ var LWC = (function (exports) {
1764
1799
  vm.callHook = _callHook;
1765
1800
  vm.setHook = _setHook;
1766
1801
  vm.getHook = _getHook;
1767
- } // Making the component instance a live value when using Locker to support expandos.
1768
-
1802
+ }
1769
1803
 
1770
- this[lockerLivePropertyKey] = undefined; // Linking elm, shadow root and component with the VM.
1804
+ markLockerLiveObject(this); // Linking elm, shadow root and component with the VM.
1771
1805
 
1772
1806
  associateVM(component, vm);
1773
1807
  associateVM(elm, vm);
@@ -2015,47 +2049,7 @@ var LWC = (function (exports) {
2015
2049
  },
2016
2050
  set: function set(newValue) {
2017
2051
  var vm = getAssociatedVM(this);
2018
-
2019
- if (newValue !== vm.cmpFields[key]) {
2020
- vm.cmpFields[key] = newValue;
2021
- componentValueMutated(vm, key);
2022
- }
2023
- },
2024
- enumerable: true,
2025
- configurable: true
2026
- };
2027
- }
2028
- /*
2029
- * Copyright (c) 2018, salesforce.com, inc.
2030
- * All rights reserved.
2031
- * SPDX-License-Identifier: MIT
2032
- * For full license text, see the LICENSE file in the repo root or https://opensource.org/licenses/MIT
2033
- */
2034
-
2035
-
2036
- function api$1() {
2037
-
2038
- throw new Error();
2039
- }
2040
-
2041
- function createPublicPropertyDescriptor(key) {
2042
- return {
2043
- get: function get() {
2044
- var vm = getAssociatedVM(this);
2045
-
2046
- if (isBeingConstructed(vm)) {
2047
-
2048
- return;
2049
- }
2050
-
2051
- componentValueObserved(vm, key);
2052
- return vm.cmpProps[key];
2053
- },
2054
- set: function set(newValue) {
2055
- var vm = getAssociatedVM(this);
2056
-
2057
- vm.cmpProps[key] = newValue;
2058
- componentValueMutated(vm, key);
2052
+ updateComponentValue(vm, key, newValue);
2059
2053
  },
2060
2054
  enumerable: true,
2061
2055
  configurable: true
@@ -2119,6 +2113,47 @@ var LWC = (function (exports) {
2119
2113
  return AccessorReactiveObserver;
2120
2114
  }(ReactiveObserver);
2121
2115
 
2116
+ function createAccessorReactiveObserver(vm, set) {
2117
+ // On the server side, we don't need mutation tracking. Skipping it improves performance.
2118
+ return new AccessorReactiveObserver(vm, set);
2119
+ }
2120
+ /*
2121
+ * Copyright (c) 2018, salesforce.com, inc.
2122
+ * All rights reserved.
2123
+ * SPDX-License-Identifier: MIT
2124
+ * For full license text, see the LICENSE file in the repo root or https://opensource.org/licenses/MIT
2125
+ */
2126
+
2127
+
2128
+ function api$1() {
2129
+
2130
+ throw new Error();
2131
+ }
2132
+
2133
+ function createPublicPropertyDescriptor(key) {
2134
+ return {
2135
+ get: function get() {
2136
+ var vm = getAssociatedVM(this);
2137
+
2138
+ if (isBeingConstructed(vm)) {
2139
+
2140
+ return;
2141
+ }
2142
+
2143
+ componentValueObserved(vm, key);
2144
+ return vm.cmpProps[key];
2145
+ },
2146
+ set: function set(newValue) {
2147
+ var vm = getAssociatedVM(this);
2148
+
2149
+ vm.cmpProps[key] = newValue;
2150
+ componentValueMutated(vm, key);
2151
+ },
2152
+ enumerable: true,
2153
+ configurable: true
2154
+ };
2155
+ }
2156
+
2122
2157
  function createPublicAccessorDescriptor(key, descriptor) {
2123
2158
  var _get3 = descriptor.get,
2124
2159
  _set2 = descriptor.set,
@@ -2141,11 +2176,11 @@ var LWC = (function (exports) {
2141
2176
  var vm = getAssociatedVM(this);
2142
2177
 
2143
2178
  if (_set2) {
2144
- if (runtimeFlags.ENABLE_REACTIVE_SETTER) {
2179
+ if (lwcRuntimeFlags.ENABLE_REACTIVE_SETTER) {
2145
2180
  var ro = vm.oar[key];
2146
2181
 
2147
2182
  if (isUndefined$1(ro)) {
2148
- ro = vm.oar[key] = new AccessorReactiveObserver(vm, _set2);
2183
+ ro = vm.oar[key] = createAccessorReactiveObserver(vm, _set2);
2149
2184
  } // every time we invoke this setter from outside (through this wrapper setter)
2150
2185
  // we should reset the value and then debounce just in case there is a pending
2151
2186
  // invocation the next tick that is not longer relevant since the value is changing
@@ -2175,7 +2210,7 @@ var LWC = (function (exports) {
2175
2210
 
2176
2211
  function track(target) {
2177
2212
  if (arguments.length === 1) {
2178
- return reactiveMembrane.getProxy(target);
2213
+ return getReactiveProxy(target);
2179
2214
  }
2180
2215
 
2181
2216
  throw new Error();
@@ -2191,12 +2226,8 @@ var LWC = (function (exports) {
2191
2226
  set: function set(newValue) {
2192
2227
  var vm = getAssociatedVM(this);
2193
2228
 
2194
- var reactiveOrAnyValue = reactiveMembrane.getProxy(newValue);
2195
-
2196
- if (reactiveOrAnyValue !== vm.cmpFields[key]) {
2197
- vm.cmpFields[key] = reactiveOrAnyValue;
2198
- componentValueMutated(vm, key);
2199
- }
2229
+ var reactiveOrAnyValue = getReactiveProxy(newValue);
2230
+ updateComponentValue(vm, key, reactiveOrAnyValue);
2200
2231
  },
2201
2232
  enumerable: true,
2202
2233
  configurable: true
@@ -2237,10 +2268,7 @@ var LWC = (function (exports) {
2237
2268
  * system to be backward compatible.
2238
2269
  */
2239
2270
 
2240
- if (value !== vm.cmpFields[key]) {
2241
- vm.cmpFields[key] = value;
2242
- componentValueMutated(vm, key);
2243
- }
2271
+ updateComponentValue(vm, key, value);
2244
2272
  },
2245
2273
  enumerable: true,
2246
2274
  configurable: true
@@ -2499,7 +2527,7 @@ var LWC = (function (exports) {
2499
2527
  fn = cachedSetterByKey[key] = function (newValue) {
2500
2528
  var vm = getAssociatedVM(this);
2501
2529
  var setHook = vm.setHook;
2502
- newValue = reactiveMembrane.getReadOnlyProxy(newValue);
2530
+ newValue = getReadOnlyProxy(newValue);
2503
2531
  setHook(vm.component, key, newValue);
2504
2532
  };
2505
2533
  }
@@ -2654,7 +2682,7 @@ var LWC = (function (exports) {
2654
2682
 
2655
2683
  function swapTemplate(oldTpl, newTpl) {
2656
2684
 
2657
- if (!runtimeFlags.ENABLE_HMR) {
2685
+ if (!lwcRuntimeFlags.ENABLE_HMR) {
2658
2686
  throw new Error('HMR is not enabled');
2659
2687
  }
2660
2688
 
@@ -2663,7 +2691,7 @@ var LWC = (function (exports) {
2663
2691
 
2664
2692
  function swapComponent(oldComponent, newComponent) {
2665
2693
 
2666
- if (!runtimeFlags.ENABLE_HMR) {
2694
+ if (!lwcRuntimeFlags.ENABLE_HMR) {
2667
2695
  throw new Error('HMR is not enabled');
2668
2696
  }
2669
2697
 
@@ -2672,7 +2700,7 @@ var LWC = (function (exports) {
2672
2700
 
2673
2701
  function swapStyle(oldStyle, newStyle) {
2674
2702
 
2675
- if (!runtimeFlags.ENABLE_HMR) {
2703
+ if (!lwcRuntimeFlags.ENABLE_HMR) {
2676
2704
  throw new Error('HMR is not enabled');
2677
2705
  }
2678
2706
 
@@ -3106,9 +3134,7 @@ var LWC = (function (exports) {
3106
3134
  function createStylesheet(vm, stylesheets) {
3107
3135
  var renderMode = vm.renderMode,
3108
3136
  shadowMode = vm.shadowMode,
3109
- _vm$renderer2 = vm.renderer,
3110
- ssr = _vm$renderer2.ssr,
3111
- insertStylesheet = _vm$renderer2.insertStylesheet;
3137
+ insertStylesheet = vm.renderer.insertStylesheet;
3112
3138
 
3113
3139
  if (renderMode === 1
3114
3140
  /* RenderMode.Shadow */
@@ -3118,7 +3144,7 @@ var LWC = (function (exports) {
3118
3144
  for (var _i12 = 0; _i12 < stylesheets.length; _i12++) {
3119
3145
  insertStylesheet(stylesheets[_i12]);
3120
3146
  }
3121
- } else if (ssr || vm.hydrated) {
3147
+ } else if (vm.hydrated) {
3122
3148
  // Note: We need to ensure that during hydration, the stylesheets method is the same as those in ssr.
3123
3149
  // This works in the client, because the stylesheets are created, and cached in the VM
3124
3150
  // the first time the VM renders.
@@ -3499,7 +3525,7 @@ var LWC = (function (exports) {
3499
3525
  }
3500
3526
  }
3501
3527
 
3502
- function patch(n1, n2, renderer) {
3528
+ function patch(n1, n2, parent, renderer) {
3503
3529
  var _a, _b;
3504
3530
 
3505
3531
  if (n1 === n2) {
@@ -3536,7 +3562,7 @@ var LWC = (function (exports) {
3536
3562
  case 3
3537
3563
  /* VNodeType.CustomElement */
3538
3564
  :
3539
- patchCustomElement(n1, n2, (_b = n2.data.renderer) !== null && _b !== void 0 ? _b : renderer);
3565
+ patchCustomElement(n1, n2, parent, (_b = n2.data.renderer) !== null && _b !== void 0 ? _b : renderer);
3540
3566
  break;
3541
3567
  }
3542
3568
  }
@@ -3701,25 +3727,34 @@ var LWC = (function (exports) {
3701
3727
  }
3702
3728
  }
3703
3729
 
3704
- function patchCustomElement(n1, n2, renderer) {
3705
- var elm = n2.elm = n1.elm;
3706
- var vm = n2.vm = n1.vm;
3707
- patchElementPropsAndAttrs$1(n1, n2, renderer);
3730
+ function patchCustomElement(n1, n2, parent, renderer) {
3731
+ if (n1.ctor !== n2.ctor) {
3732
+ // If the constructor, unmount the current component and mount a new one using the new
3733
+ // constructor.
3734
+ var anchor = renderer.nextSibling(n1.elm);
3735
+ unmount(n1, parent, renderer, true);
3736
+ mountCustomElement(n2, parent, anchor, renderer);
3737
+ } else {
3738
+ // Otherwise patch the existing component with new props/attrs/etc.
3739
+ var elm = n2.elm = n1.elm;
3740
+ var vm = n2.vm = n1.vm;
3741
+ patchElementPropsAndAttrs$1(n1, n2, renderer);
3708
3742
 
3709
- if (!isUndefined$1(vm)) {
3710
- // in fallback mode, the allocation will always set children to
3711
- // empty and delegate the real allocation to the slot elements
3712
- allocateChildren(n2, vm);
3713
- } // in fallback mode, the children will be always empty, so, nothing
3714
- // will happen, but in native, it does allocate the light dom
3743
+ if (!isUndefined$1(vm)) {
3744
+ // in fallback mode, the allocation will always set children to
3745
+ // empty and delegate the real allocation to the slot elements
3746
+ allocateChildren(n2, vm);
3747
+ } // in fallback mode, the children will be always empty, so, nothing
3748
+ // will happen, but in native, it does allocate the light dom
3715
3749
 
3716
3750
 
3717
- patchChildren(n1.children, n2.children, elm, renderer);
3751
+ patchChildren(n1.children, n2.children, elm, renderer);
3718
3752
 
3719
- if (!isUndefined$1(vm)) {
3720
- // this will probably update the shadowRoot, but only if the vm is in a dirty state
3721
- // this is important to preserve the top to bottom synchronous rendering phase.
3722
- rerenderVM(vm);
3753
+ if (!isUndefined$1(vm)) {
3754
+ // this will probably update the shadowRoot, but only if the vm is in a dirty state
3755
+ // this is important to preserve the top to bottom synchronous rendering phase.
3756
+ rerenderVM(vm);
3757
+ }
3723
3758
  }
3724
3759
  }
3725
3760
 
@@ -4043,22 +4078,22 @@ var LWC = (function (exports) {
4043
4078
  } else if (!isVNode(newEndVnode)) {
4044
4079
  newEndVnode = newCh[--newEndIdx];
4045
4080
  } else if (isSameVnode(oldStartVnode, newStartVnode)) {
4046
- patch(oldStartVnode, newStartVnode, renderer);
4081
+ patch(oldStartVnode, newStartVnode, parent, renderer);
4047
4082
  oldStartVnode = oldCh[++oldStartIdx];
4048
4083
  newStartVnode = newCh[++newStartIdx];
4049
4084
  } else if (isSameVnode(oldEndVnode, newEndVnode)) {
4050
- patch(oldEndVnode, newEndVnode, renderer);
4085
+ patch(oldEndVnode, newEndVnode, parent, renderer);
4051
4086
  oldEndVnode = oldCh[--oldEndIdx];
4052
4087
  newEndVnode = newCh[--newEndIdx];
4053
4088
  } else if (isSameVnode(oldStartVnode, newEndVnode)) {
4054
4089
  // Vnode moved right
4055
- patch(oldStartVnode, newEndVnode, renderer);
4090
+ patch(oldStartVnode, newEndVnode, parent, renderer);
4056
4091
  insertNode(oldStartVnode.elm, parent, renderer.nextSibling(oldEndVnode.elm), renderer);
4057
4092
  oldStartVnode = oldCh[++oldStartIdx];
4058
4093
  newEndVnode = newCh[--newEndIdx];
4059
4094
  } else if (isSameVnode(oldEndVnode, newStartVnode)) {
4060
4095
  // Vnode moved left
4061
- patch(oldEndVnode, newStartVnode, renderer);
4096
+ patch(oldEndVnode, newStartVnode, parent, renderer);
4062
4097
  insertNode(newStartVnode.elm, parent, oldStartVnode.elm, renderer);
4063
4098
  oldEndVnode = oldCh[--oldEndIdx];
4064
4099
  newStartVnode = newCh[++newStartIdx];
@@ -4081,7 +4116,7 @@ var LWC = (function (exports) {
4081
4116
  // New element
4082
4117
  mount(newStartVnode, parent, renderer, oldStartVnode.elm);
4083
4118
  } else {
4084
- patch(elmToMove, newStartVnode, renderer); // Delete the old child, but copy the array since it is read-only.
4119
+ patch(elmToMove, newStartVnode, parent, renderer); // Delete the old child, but copy the array since it is read-only.
4085
4120
  // The `oldCh` will be GC'ed after `updateDynamicChildren` is complete,
4086
4121
  // so we only care about the `oldCh` object inside this function.
4087
4122
  // To avoid cloning over and over again, we check `clonedOldCh`
@@ -4151,7 +4186,7 @@ var LWC = (function (exports) {
4151
4186
  if (isVNode(n1)) {
4152
4187
  if (isVNode(n2)) {
4153
4188
  // both vnodes are equivalent, and we just need to patch them
4154
- patch(n1, n2, renderer);
4189
+ patch(n1, n2, parent, renderer);
4155
4190
  anchor = n2.elm;
4156
4191
  } else {
4157
4192
  // removing the old vnode since the new one is null
@@ -4452,19 +4487,11 @@ var LWC = (function (exports) {
4452
4487
 
4453
4488
  return url;
4454
4489
  }
4455
- /**
4456
- * Map to store an index value assigned to any dynamic component reference ingested
4457
- * by dc() api. This allows us to generate a unique unique per template per dynamic
4458
- * component reference to avoid diffing algo mismatches.
4459
- */
4460
-
4461
-
4462
- var DynamicImportedComponentMap = new Map();
4463
- var dynamicImportedComponentCounter = 0;
4464
4490
  /**
4465
4491
  * create a dynamic component via `<x-foo lwc:dynamic={Ctor}>`
4466
4492
  */
4467
4493
 
4494
+
4468
4495
  function dc(sel, Ctor, data) {
4469
4496
  var children = arguments.length > 3 && arguments[3] !== undefined ? arguments[3] : EmptyArray;
4470
4497
 
@@ -4477,22 +4504,7 @@ var LWC = (function (exports) {
4477
4504
  throw new Error("Invalid LWC Constructor ".concat(toString$1(Ctor), " for custom element <").concat(sel, ">."));
4478
4505
  }
4479
4506
 
4480
- var idx = DynamicImportedComponentMap.get(Ctor);
4481
-
4482
- if (isUndefined$1(idx)) {
4483
- idx = dynamicImportedComponentCounter++;
4484
- DynamicImportedComponentMap.set(Ctor, idx);
4485
- } // the new vnode key is a mix of idx and compiler key, this is required by the diffing algo
4486
- // to identify different constructors as vnodes with different keys to avoid reusing the
4487
- // element used for previous constructors.
4488
- // Shallow clone is necessary here becuase VElementData may be shared across VNodes due to
4489
- // hoisting optimization.
4490
-
4491
-
4492
- var newData = Object.assign(Object.assign({}, data), {
4493
- key: "dc:".concat(idx, ":").concat(data.key)
4494
- });
4495
- return c(sel, Ctor, newData, children);
4507
+ return c(sel, Ctor, data, children);
4496
4508
  }
4497
4509
  /**
4498
4510
  * slow children collection marking mechanism. this API allows the compiler to signal
@@ -4953,7 +4965,7 @@ var LWC = (function (exports) {
4953
4965
  }
4954
4966
 
4955
4967
  function getTemplateReactiveObserver(vm) {
4956
- return new ReactiveObserver(function () {
4968
+ return createReactiveObserver(function () {
4957
4969
  var isDirty = vm.isDirty;
4958
4970
 
4959
4971
  if (isFalse(isDirty)) {
@@ -5222,7 +5234,7 @@ var LWC = (function (exports) {
5222
5234
  } else if (isNativeShadowDefined) {
5223
5235
  // Not combined with above condition because @lwc/features only supports identifiers in
5224
5236
  // the if-condition.
5225
- if (runtimeFlags.ENABLE_MIXED_SHADOW_MODE) {
5237
+ if (lwcRuntimeFlags.ENABLE_MIXED_SHADOW_MODE) {
5226
5238
  if (def.shadowSupportMode === "any"
5227
5239
  /* ShadowSupportMode.Any */
5228
5240
  ) {
@@ -5332,13 +5344,7 @@ var LWC = (function (exports) {
5332
5344
  }
5333
5345
 
5334
5346
  function runRenderedCallback(vm) {
5335
- var renderedCallback = vm.def.renderedCallback,
5336
- ssr = vm.renderer.ssr;
5337
-
5338
- if (isTrue(ssr)) {
5339
- return;
5340
- }
5341
-
5347
+ var renderedCallback = vm.def.renderedCallback;
5342
5348
  var rendered = Services.rendered;
5343
5349
 
5344
5350
  if (rendered) {
@@ -5561,9 +5567,7 @@ var LWC = (function (exports) {
5561
5567
  }
5562
5568
 
5563
5569
  function scheduleRehydration(vm) {
5564
- var ssr = vm.renderer.ssr;
5565
-
5566
- if (isTrue(ssr) || isTrue(vm.isScheduled)) {
5570
+ if (isTrue(vm.isScheduled)) {
5567
5571
  return;
5568
5572
  }
5569
5573
 
@@ -5665,13 +5669,8 @@ var LWC = (function (exports) {
5665
5669
  }( /*#__PURE__*/_wrapNativeSuper(CustomEvent));
5666
5670
 
5667
5671
  function createFieldDataCallback(vm, name) {
5668
- var cmpFields = vm.cmpFields;
5669
5672
  return function (value) {
5670
- if (value !== vm.cmpFields[name]) {
5671
- // storing the value in the underlying storage
5672
- cmpFields[name] = value;
5673
- componentValueMutated(vm, name);
5674
- }
5673
+ updateComponentValue(vm, name, value);
5675
5674
  };
5676
5675
  }
5677
5676
 
@@ -5688,7 +5687,7 @@ var LWC = (function (exports) {
5688
5687
  function createConfigWatcher(component, configCallback, callbackWhenConfigIsReady) {
5689
5688
  var hasPendingConfig = false; // creating the reactive observer for reactive params when needed
5690
5689
 
5691
- var ro = new ReactiveObserver(function () {
5690
+ var ro = createReactiveObserver(function () {
5692
5691
  if (hasPendingConfig === false) {
5693
5692
  hasPendingConfig = true; // collect new config in the micro-task
5694
5693
 
@@ -5880,7 +5879,7 @@ var LWC = (function (exports) {
5880
5879
  ArrayPush$1.call(wiredConnecting, function () {
5881
5880
  connector.connect();
5882
5881
 
5883
- if (!runtimeFlags.ENABLE_WIRE_SYNC_EMIT) {
5882
+ if (!lwcRuntimeFlags.ENABLE_WIRE_SYNC_EMIT) {
5884
5883
  if (hasDynamicParams) {
5885
5884
  Promise.resolve().then(computeConfigAndUpdate);
5886
5885
  return;
@@ -5979,7 +5978,7 @@ var LWC = (function (exports) {
5979
5978
 
5980
5979
  function readonly(obj) {
5981
5980
 
5982
- return reactiveMembrane.getReadOnlyProxy(obj);
5981
+ return getReadOnlyProxy(obj);
5983
5982
  }
5984
5983
  /*
5985
5984
  * Copyright (c) 2022, salesforce.com, inc.
@@ -6461,7 +6460,7 @@ var LWC = (function (exports) {
6461
6460
 
6462
6461
  return ctor;
6463
6462
  }
6464
- /* version: 2.21.1 */
6463
+ /* version: 2.23.1 */
6465
6464
 
6466
6465
  /*
6467
6466
  * Copyright (c) 2018, salesforce.com, inc.
@@ -6620,6 +6619,85 @@ var LWC = (function (exports) {
6620
6619
  */
6621
6620
 
6622
6621
 
6622
+ var SUPPORTS_TEMPLATE = typeof HTMLTemplateElement === 'function';
6623
+ var createFragment;
6624
+
6625
+ if (SUPPORTS_TEMPLATE) {
6626
+ // Parse the fragment HTML string into DOM
6627
+ createFragment = function createFragment(html) {
6628
+ var template = document.createElement('template');
6629
+ template.innerHTML = html;
6630
+ return template.content.firstChild;
6631
+ };
6632
+ } else {
6633
+ // In browsers that don't support <template> (e.g. IE11), we need to be careful to wrap elements like
6634
+ // <td> in the proper container elements (e.g. <tbody>), because otherwise they will be parsed as null.
6635
+ // Via https://github.com/webcomponents/polyfills/blob/ee1db33/packages/template/template.js#L273-L280
6636
+ // With other elements added from:
6637
+ // https://github.com/sindresorhus/html-tags/blob/95dcdd5/index.js
6638
+ // Using the test:
6639
+ // document.createRange().createContextualFragment(`<${tag}></${tag}>`).firstChild === null
6640
+ // And omitting <html>, <head>, and <body> as these are not practical in an LWC component.
6641
+ var topLevelWrappingMap = {
6642
+ caption: ['table'],
6643
+ col: ['colgroup', 'table'],
6644
+ colgroup: ['table'],
6645
+ option: ['select'],
6646
+ tbody: ['table'],
6647
+ td: ['tr', 'tbody', 'table'],
6648
+ th: ['tr', 'tbody', 'table'],
6649
+ thead: ['table'],
6650
+ tfoot: ['table'],
6651
+ tr: ['tbody', 'table']
6652
+ }; // Via https://github.com/webcomponents/polyfills/blob/ee1db33/packages/template/template.js#L282-L288
6653
+
6654
+ var getTagName = function getTagName(text) {
6655
+ return (/<([a-z][^/\0>\x20\t\r\n\f]+)/i.exec(text) || ['', ''])[1].toLowerCase();
6656
+ }; // Via https://github.com/webcomponents/polyfills/blob/ee1db33/packages/template/template.js#L295-L320
6657
+
6658
+
6659
+ createFragment = function createFragment(html) {
6660
+ var wrapperTags = topLevelWrappingMap[getTagName(html)];
6661
+
6662
+ if (!isUndefined$1(wrapperTags)) {
6663
+ var _iterator5 = _createForOfIteratorHelper(wrapperTags),
6664
+ _step5;
6665
+
6666
+ try {
6667
+ for (_iterator5.s(); !(_step5 = _iterator5.n()).done;) {
6668
+ var wrapperTag = _step5.value;
6669
+ html = "<".concat(wrapperTag, ">").concat(html, "</").concat(wrapperTag, ">");
6670
+ }
6671
+ } catch (err) {
6672
+ _iterator5.e(err);
6673
+ } finally {
6674
+ _iterator5.f();
6675
+ }
6676
+ } // For IE11, the document title must not be undefined, but it can be an empty string
6677
+ // https://developer.mozilla.org/en-US/docs/Web/API/DOMImplementation/createHTMLDocument#browser_compatibility
6678
+
6679
+
6680
+ var doc = document.implementation.createHTMLDocument('');
6681
+ doc.body.innerHTML = html;
6682
+ var content = doc.body;
6683
+
6684
+ if (!isUndefined$1(wrapperTags)) {
6685
+ for (var _i32 = 0; _i32 < wrapperTags.length; _i32++) {
6686
+ content = content.firstChild;
6687
+ }
6688
+ }
6689
+
6690
+ return content.firstChild;
6691
+ };
6692
+ }
6693
+ /*
6694
+ * Copyright (c) 2018, salesforce.com, inc.
6695
+ * All rights reserved.
6696
+ * SPDX-License-Identifier: MIT
6697
+ * For full license text, see the LICENSE file in the repo root or https://opensource.org/licenses/MIT
6698
+ */
6699
+
6700
+
6623
6701
  var getCustomElement;
6624
6702
  var defineCustomElement;
6625
6703
  var HTMLElementConstructor;
@@ -6701,18 +6779,6 @@ var LWC = (function (exports) {
6701
6779
  HTMLElementConstructor.prototype = HTMLElement.prototype;
6702
6780
  }
6703
6781
 
6704
- var hydrating = false;
6705
-
6706
- function setIsHydrating(value) {
6707
- hydrating = value;
6708
- }
6709
-
6710
- var ssr = false;
6711
-
6712
- function isHydrating() {
6713
- return hydrating;
6714
- }
6715
-
6716
6782
  var isNativeShadowDefined = _globalThis[KEY__IS_NATIVE_SHADOW_ROOT_DEFINED];
6717
6783
  var isSyntheticShadowDefined = hasOwnProperty$1.call(Element.prototype, KEY__SHADOW_TOKEN);
6718
6784
 
@@ -6720,10 +6786,6 @@ var LWC = (function (exports) {
6720
6786
  return node.cloneNode(deep);
6721
6787
  }
6722
6788
 
6723
- function createFragment(html) {
6724
- return document.createRange().createContextualFragment(html).firstChild;
6725
- }
6726
-
6727
6789
  function createElement$1(tagName, namespace) {
6728
6790
  return isUndefined$1(namespace) ? document.createElement(tagName) : document.createElementNS(namespace, tagName);
6729
6791
  }
@@ -6749,15 +6811,11 @@ var LWC = (function (exports) {
6749
6811
  }
6750
6812
 
6751
6813
  function attachShadow(element, options) {
6752
- // `hydrating` will be true in two cases:
6814
+ // `shadowRoot` will be non-null in two cases:
6753
6815
  // 1. upon initial load with an SSR-generated DOM, while in Shadow render mode
6754
6816
  // 2. when a webapp author places <c-app> in their static HTML and mounts their
6755
- // root component with customeElement.define('c-app', Ctor)
6756
- //
6757
- // The second case can be treated as a failed hydration with nominal impact
6758
- // to performance. However, because <c-app> won't have a <template shadowroot>
6759
- // declarative child, `element.shadowRoot` is `null`.
6760
- if (hydrating && element.shadowRoot) {
6817
+ // root component with customElement.define('c-app', Ctor)
6818
+ if (!isNull(element.shadowRoot)) {
6761
6819
  return element.shadowRoot;
6762
6820
  }
6763
6821
 
@@ -6869,11 +6927,9 @@ var LWC = (function (exports) {
6869
6927
 
6870
6928
  var HTMLElementExported = HTMLElementConstructor;
6871
6929
  var renderer = {
6872
- ssr: ssr,
6873
6930
  isNativeShadowDefined: isNativeShadowDefined,
6874
6931
  isSyntheticShadowDefined: isSyntheticShadowDefined,
6875
6932
  HTMLElementExported: HTMLElementExported,
6876
- isHydrating: isHydrating,
6877
6933
  insert: insert,
6878
6934
  remove: remove,
6879
6935
  cloneNode: cloneNode,
@@ -6942,8 +6998,8 @@ var LWC = (function (exports) {
6942
6998
  hydrated: true
6943
6999
  });
6944
7000
 
6945
- for (var _i32 = 0, _Object$entries2 = Object.entries(props); _i32 < _Object$entries2.length; _i32++) {
6946
- var _Object$entries2$_i = _slicedToArray(_Object$entries2[_i32], 2),
7001
+ for (var _i33 = 0, _Object$entries2 = Object.entries(props); _i33 < _Object$entries2.length; _i33++) {
7002
+ var _Object$entries2$_i = _slicedToArray(_Object$entries2[_i33], 2),
6947
7003
  key = _Object$entries2$_i[0],
6948
7004
  value = _Object$entries2$_i[1];
6949
7005
 
@@ -6975,13 +7031,8 @@ var LWC = (function (exports) {
6975
7031
  }
6976
7032
 
6977
7033
  try {
6978
- // Let the renderer know we are hydrating, so it does not replace the existing shadowRoot
6979
- // and uses the same algo to create the stylesheets as in SSR.
6980
- setIsHydrating(true);
6981
7034
  var vm = createVMWithProps(element, Ctor, props);
6982
- hydrateRoot(vm); // set it back since now we finished hydration.
6983
-
6984
- setIsHydrating(false);
7035
+ hydrateRoot(vm);
6985
7036
  } catch (e) {
6986
7037
  // Fallback: In case there's an error while hydrating, let's log the error, and replace the element content
6987
7038
  // with the client generated DOM.
@@ -6992,11 +7043,7 @@ var LWC = (function (exports) {
6992
7043
  resetShadowRootAndLightDom(element, Ctor); // we need to recreate the vm with the hydration flag on, so it re-uses the existing shadowRoot.
6993
7044
 
6994
7045
  createVMWithProps(element, Ctor, props);
6995
- setIsHydrating(false);
6996
7046
  connectRootElement(element);
6997
- } finally {
6998
- // in case there's an error during recovery
6999
- setIsHydrating(false);
7000
7047
  }
7001
7048
  }
7002
7049
  /*
@@ -7268,7 +7315,7 @@ var LWC = (function (exports) {
7268
7315
  });
7269
7316
  freeze(LightningElement);
7270
7317
  seal(LightningElement.prototype);
7271
- /* version: 2.21.1 */
7318
+ /* version: 2.23.1 */
7272
7319
 
7273
7320
  exports.LightningElement = LightningElement;
7274
7321
  exports.__unstable__ProfilerControl = profilerControl;