lwc 2.5.10-alpha1 → 2.7.0

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 (54) hide show
  1. package/dist/engine-dom/esm/es2017/engine-dom.js +168 -134
  2. package/dist/engine-dom/iife/es2017/engine-dom.js +169 -135
  3. package/dist/engine-dom/iife/es2017/engine-dom.min.js +2 -2
  4. package/dist/engine-dom/iife/es2017/engine-dom_debug.js +154 -133
  5. package/dist/engine-dom/iife/es5/engine-dom.js +185 -145
  6. package/dist/engine-dom/iife/es5/engine-dom.min.js +2 -2
  7. package/dist/engine-dom/iife/es5/engine-dom_debug.js +172 -145
  8. package/dist/engine-dom/umd/es2017/engine-dom.js +170 -136
  9. package/dist/engine-dom/umd/es2017/engine-dom.min.js +2 -2
  10. package/dist/engine-dom/umd/es2017/engine-dom_debug.js +155 -134
  11. package/dist/engine-dom/umd/es5/engine-dom.js +186 -146
  12. package/dist/engine-dom/umd/es5/engine-dom.min.js +2 -2
  13. package/dist/engine-dom/umd/es5/engine-dom_debug.js +173 -146
  14. package/dist/engine-server/commonjs/es2017/engine-server.js +179 -142
  15. package/dist/engine-server/commonjs/es2017/engine-server.min.js +2 -2
  16. package/dist/engine-server/esm/es2017/engine-server.js +179 -142
  17. package/dist/synthetic-shadow/esm/es2017/synthetic-shadow.js +29 -130
  18. package/dist/synthetic-shadow/iife/es2017/synthetic-shadow.js +30 -131
  19. package/dist/synthetic-shadow/iife/es2017/synthetic-shadow.min.js +2 -2
  20. package/dist/synthetic-shadow/iife/es2017/synthetic-shadow_debug.js +30 -131
  21. package/dist/synthetic-shadow/iife/es5/synthetic-shadow.js +37 -128
  22. package/dist/synthetic-shadow/iife/es5/synthetic-shadow.min.js +2 -2
  23. package/dist/synthetic-shadow/iife/es5/synthetic-shadow_debug.js +37 -128
  24. package/dist/synthetic-shadow/umd/es2017/synthetic-shadow.js +31 -132
  25. package/dist/synthetic-shadow/umd/es2017/synthetic-shadow.min.js +2 -2
  26. package/dist/synthetic-shadow/umd/es2017/synthetic-shadow_debug.js +31 -132
  27. package/dist/synthetic-shadow/umd/es5/synthetic-shadow.js +38 -129
  28. package/dist/synthetic-shadow/umd/es5/synthetic-shadow.min.js +2 -2
  29. package/dist/synthetic-shadow/umd/es5/synthetic-shadow_debug.js +38 -129
  30. package/dist/wire-service/esm/es2017/wire-service.js +2 -2
  31. package/dist/wire-service/iife/es2017/wire-service.js +3 -3
  32. package/dist/wire-service/iife/es2017/wire-service_debug.js +3 -3
  33. package/dist/wire-service/iife/es5/wire-service.js +12 -12
  34. package/dist/wire-service/iife/es5/wire-service.min.js +1 -1
  35. package/dist/wire-service/iife/es5/wire-service_debug.js +12 -12
  36. package/dist/wire-service/umd/es2017/wire-service.js +4 -4
  37. package/dist/wire-service/umd/es2017/wire-service_debug.js +4 -4
  38. package/dist/wire-service/umd/es5/wire-service.js +13 -13
  39. package/dist/wire-service/umd/es5/wire-service.min.js +1 -1
  40. package/dist/wire-service/umd/es5/wire-service_debug.js +13 -13
  41. package/package.json +8 -8
  42. package/dist/engine/esm/es2017/engine.js +0 -7981
  43. package/dist/engine/iife/es2017/engine.js +0 -8013
  44. package/dist/engine/iife/es2017/engine.min.js +0 -9
  45. package/dist/engine/iife/es2017/engine_debug.js +0 -6541
  46. package/dist/engine/iife/es5/engine.js +0 -6060
  47. package/dist/engine/iife/es5/engine.min.js +0 -23
  48. package/dist/engine/iife/es5/engine_debug.js +0 -4856
  49. package/dist/engine/umd/es2017/engine.js +0 -8014
  50. package/dist/engine/umd/es2017/engine.min.js +0 -9
  51. package/dist/engine/umd/es2017/engine_debug.js +0 -6542
  52. package/dist/engine/umd/es5/engine.js +0 -6061
  53. package/dist/engine/umd/es5/engine.min.js +0 -23
  54. package/dist/engine/umd/es5/engine_debug.js +0 -4857
@@ -15,13 +15,13 @@ var LWC = (function (exports) {
15
15
 
16
16
  function _arrayWithoutHoles(arr) { if (Array.isArray(arr)) return _arrayLikeToArray(arr); }
17
17
 
18
- function _get2(target, property, receiver) { if (typeof Reflect !== "undefined" && Reflect.get) { _get2 = Reflect.get; } else { _get2 = function _get(target, property, receiver) { var base = _superPropBase(target, property); if (!base) return; var desc = Object.getOwnPropertyDescriptor(base, property); if (desc.get) { return desc.get.call(receiver); } return desc.value; }; } return _get2(target, property, receiver || target); }
18
+ function _get2() { if (typeof Reflect !== "undefined" && Reflect.get) { _get2 = Reflect.get; } else { _get2 = function _get(target, property, receiver) { var base = _superPropBase(target, property); if (!base) return; var desc = Object.getOwnPropertyDescriptor(base, property); if (desc.get) { return desc.get.call(arguments.length < 3 ? target : receiver); } return desc.value; }; } return _get2.apply(this, arguments); }
19
19
 
20
20
  function _superPropBase(object, property) { while (!Object.prototype.hasOwnProperty.call(object, property)) { object = _getPrototypeOf2(object); if (object === null) break; } return object; }
21
21
 
22
22
  function _defineProperty(obj, key, value) { if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; }
23
23
 
24
- function _inherits(subClass, superClass) { if (typeof superClass !== "function" && superClass !== null) { throw new TypeError("Super expression must either be null or a function"); } subClass.prototype = Object.create(superClass && superClass.prototype, { constructor: { value: subClass, writable: true, configurable: true } }); if (superClass) _setPrototypeOf(subClass, superClass); }
24
+ function _inherits(subClass, superClass) { if (typeof superClass !== "function" && superClass !== null) { throw new TypeError("Super expression must either be null or a function"); } Object.defineProperty(subClass, "prototype", { value: Object.create(superClass && superClass.prototype, { constructor: { value: subClass, writable: true, configurable: true } }), writable: false }); if (superClass) _setPrototypeOf(subClass, superClass); }
25
25
 
26
26
  function _setPrototypeOf(o, p) { _setPrototypeOf = Object.setPrototypeOf || function _setPrototypeOf(o, p) { o.__proto__ = p; return o; }; return _setPrototypeOf(o, p); }
27
27
 
@@ -39,7 +39,7 @@ var LWC = (function (exports) {
39
39
 
40
40
  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, descriptor.key, descriptor); } }
41
41
 
42
- function _createClass(Constructor, protoProps, staticProps) { if (protoProps) _defineProperties(Constructor.prototype, protoProps); if (staticProps) _defineProperties(Constructor, staticProps); return Constructor; }
42
+ function _createClass(Constructor, protoProps, staticProps) { if (protoProps) _defineProperties(Constructor.prototype, protoProps); if (staticProps) _defineProperties(Constructor, staticProps); Object.defineProperty(Constructor, "prototype", { writable: false }); return Constructor; }
43
43
 
44
44
  function _slicedToArray(arr, i) { return _arrayWithHoles(arr) || _iterableToArrayLimit(arr, i) || _unsupportedIterableToArray(arr, i) || _nonIterableRest(); }
45
45
 
@@ -53,7 +53,7 @@ var LWC = (function (exports) {
53
53
 
54
54
  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; }
55
55
 
56
- function _typeof(obj) { "@babel/helpers - typeof"; if (typeof Symbol === "function" && typeof Symbol.iterator === "symbol") { _typeof = function _typeof(obj) { return typeof obj; }; } else { _typeof = function _typeof(obj) { return obj && typeof Symbol === "function" && obj.constructor === Symbol && obj !== Symbol.prototype ? "symbol" : typeof obj; }; } return _typeof(obj); }
56
+ 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); }
57
57
 
58
58
  /* proxy-compat-disable */
59
59
 
@@ -120,7 +120,7 @@ var LWC = (function (exports) {
120
120
  var _Array$prototype = Array.prototype,
121
121
  ArrayIndexOf = _Array$prototype.indexOf,
122
122
  ArrayJoin = _Array$prototype.join,
123
- ArrayMap$1 = _Array$prototype.map,
123
+ ArrayMap = _Array$prototype.map,
124
124
  ArrayPush$1 = _Array$prototype.push,
125
125
  ArraySlice = _Array$prototype.slice,
126
126
  ArraySplice = _Array$prototype.splice,
@@ -177,7 +177,7 @@ var LWC = (function (exports) {
177
177
  // Array.prototype.toString directly will cause an error Iterate through
178
178
  // all the items and handle individually.
179
179
  if (isArray$1(obj)) {
180
- return ArrayJoin.call(ArrayMap$1.call(obj, toString$1), ',');
180
+ return ArrayJoin.call(ArrayMap.call(obj, toString$1), ',');
181
181
  }
182
182
 
183
183
  return obj.toString();
@@ -341,7 +341,7 @@ var LWC = (function (exports) {
341
341
  CACHED_PROPERTY_ATTRIBUTE_MAPPING.set(propName, attributeName);
342
342
  return attributeName;
343
343
  }
344
- /** version: 2.5.10-alpha1 */
344
+ /** version: 2.7.0 */
345
345
 
346
346
  /*
347
347
  * Copyright (c) 2018, salesforce.com, inc.
@@ -453,7 +453,6 @@ var LWC = (function (exports) {
453
453
  ENABLE_NODE_LIST_PATCH: null,
454
454
  ENABLE_HTML_COLLECTIONS_PATCH: null,
455
455
  ENABLE_NODE_PATCH: null,
456
- ENABLE_NON_COMPOSED_EVENTS_LEAKAGE: null,
457
456
  ENABLE_MIXED_SHADOW_MODE: null,
458
457
  ENABLE_WIRE_SYNC_EMIT: null
459
458
  };
@@ -513,7 +512,7 @@ var LWC = (function (exports) {
513
512
 
514
513
  function setFeatureFlagForTest(name, value) {
515
514
  }
516
- /** version: 2.5.10-alpha1 */
515
+ /** version: 2.7.0 */
517
516
 
518
517
  /* proxy-compat-disable */
519
518
 
@@ -1494,7 +1493,8 @@ var LWC = (function (exports) {
1494
1493
  */
1495
1494
 
1496
1495
  var isArray = Array.isArray;
1497
- var _getPrototypeOf = Object.getPrototypeOf,
1496
+ var ObjectDotPrototype = Object.prototype,
1497
+ _getPrototypeOf = Object.getPrototypeOf,
1498
1498
  ObjectCreate = Object.create,
1499
1499
  ObjectDefineProperty = Object.defineProperty,
1500
1500
  _isExtensible = Object.isExtensible,
@@ -1561,7 +1561,10 @@ var LWC = (function (exports) {
1561
1561
  // but it will always be compatible with the previous descriptor
1562
1562
  // to preserve the object invariants, which makes these lines safe.
1563
1563
 
1564
- var originalDescriptor = _getOwnPropertyDescriptor(originalTarget, key);
1564
+ var originalDescriptor = _getOwnPropertyDescriptor(originalTarget, key); // TODO: it should be impossible for the originalDescriptor to ever be undefined, this `if` can be removed
1565
+
1566
+ /* istanbul ignore else */
1567
+
1565
1568
 
1566
1569
  if (!isUndefined(originalDescriptor)) {
1567
1570
  var wrappedDesc = this.wrapDescriptor(originalDescriptor);
@@ -1586,12 +1589,18 @@ var LWC = (function (exports) {
1586
1589
 
1587
1590
  _preventExtensions(shadowTarget);
1588
1591
  } // Shared Traps
1592
+ // TODO: apply() is never called
1593
+
1594
+ /* istanbul ignore next */
1589
1595
 
1590
1596
  }, {
1591
1597
  key: "apply",
1592
1598
  value: function apply(shadowTarget, thisArg, argArray) {
1593
1599
  /* No op */
1594
- }
1600
+ } // TODO: construct() is never called
1601
+
1602
+ /* istanbul ignore next */
1603
+
1595
1604
  }, {
1596
1605
  key: "construct",
1597
1606
  value: function construct(shadowTarget, argArray, newTarget) {
@@ -1696,8 +1705,8 @@ var LWC = (function (exports) {
1696
1705
  return BaseProxyHandler;
1697
1706
  }();
1698
1707
 
1699
- var getterMap = new WeakMap();
1700
- var setterMap = new WeakMap();
1708
+ var getterMap$1 = new WeakMap();
1709
+ var setterMap$1 = new WeakMap();
1701
1710
  var reverseGetterMap = new WeakMap();
1702
1711
  var reverseSetterMap = new WeakMap();
1703
1712
 
@@ -1720,7 +1729,7 @@ var LWC = (function (exports) {
1720
1729
  }, {
1721
1730
  key: "wrapGetter",
1722
1731
  value: function wrapGetter(originalGet) {
1723
- var wrappedGetter = getterMap.get(originalGet);
1732
+ var wrappedGetter = getterMap$1.get(originalGet);
1724
1733
 
1725
1734
  if (!isUndefined(wrappedGetter)) {
1726
1735
  return wrappedGetter;
@@ -1733,14 +1742,14 @@ var LWC = (function (exports) {
1733
1742
  return handler.wrapValue(originalGet.call(unwrap$1(this)));
1734
1743
  };
1735
1744
 
1736
- getterMap.set(originalGet, get);
1745
+ getterMap$1.set(originalGet, get);
1737
1746
  reverseGetterMap.set(get, originalGet);
1738
1747
  return get;
1739
1748
  }
1740
1749
  }, {
1741
1750
  key: "wrapSetter",
1742
1751
  value: function wrapSetter(originalSet) {
1743
- var wrappedSetter = setterMap.get(originalSet);
1752
+ var wrappedSetter = setterMap$1.get(originalSet);
1744
1753
 
1745
1754
  if (!isUndefined(wrappedSetter)) {
1746
1755
  return wrappedSetter;
@@ -1751,7 +1760,7 @@ var LWC = (function (exports) {
1751
1760
  originalSet.call(unwrap$1(this), unwrap$1(v));
1752
1761
  };
1753
1762
 
1754
- setterMap.set(originalSet, set);
1763
+ setterMap$1.set(originalSet, set);
1755
1764
  reverseSetterMap.set(set, originalSet);
1756
1765
  return set;
1757
1766
  }
@@ -1792,7 +1801,7 @@ var LWC = (function (exports) {
1792
1801
  return unwrap$1(redGet.call(handler.wrapValue(this)));
1793
1802
  };
1794
1803
 
1795
- getterMap.set(get, redGet);
1804
+ getterMap$1.set(get, redGet);
1796
1805
  reverseGetterMap.set(redGet, get);
1797
1806
  return get;
1798
1807
  }
@@ -1812,7 +1821,7 @@ var LWC = (function (exports) {
1812
1821
  redSet.call(handler.wrapValue(this), handler.wrapValue(v));
1813
1822
  };
1814
1823
 
1815
- setterMap.set(set, redSet);
1824
+ setterMap$1.set(set, redSet);
1816
1825
  reverseSetterMap.set(redSet, set);
1817
1826
  return set;
1818
1827
  }
@@ -1858,6 +1867,11 @@ var LWC = (function (exports) {
1858
1867
  _preventExtensions(originalTarget); // if the originalTarget is a proxy itself, it might reject
1859
1868
  // the preventExtension call, in which case we should not attempt to lock down
1860
1869
  // the shadow target.
1870
+ // TODO: It should not actually be possible to reach this `if` statement.
1871
+ // If a proxy rejects extensions, then calling preventExtensions will throw an error:
1872
+ // https://codepen.io/nolanlawson-the-selector/pen/QWMOjbY
1873
+
1874
+ /* istanbul ignore if */
1861
1875
 
1862
1876
 
1863
1877
  if (_isExtensible(originalTarget)) {
@@ -1900,8 +1914,8 @@ var LWC = (function (exports) {
1900
1914
  return ReactiveProxyHandler;
1901
1915
  }(BaseProxyHandler);
1902
1916
 
1903
- var getterMap$1 = new WeakMap();
1904
- var setterMap$1 = new WeakMap();
1917
+ var getterMap = new WeakMap();
1918
+ var setterMap = new WeakMap();
1905
1919
 
1906
1920
  var ReadOnlyHandler = /*#__PURE__*/function (_BaseProxyHandler2) {
1907
1921
  _inherits(ReadOnlyHandler, _BaseProxyHandler2);
@@ -1922,7 +1936,7 @@ var LWC = (function (exports) {
1922
1936
  }, {
1923
1937
  key: "wrapGetter",
1924
1938
  value: function wrapGetter(originalGet) {
1925
- var wrappedGetter = getterMap$1.get(originalGet);
1939
+ var wrappedGetter = getterMap.get(originalGet);
1926
1940
 
1927
1941
  if (!isUndefined(wrappedGetter)) {
1928
1942
  return wrappedGetter;
@@ -1935,13 +1949,13 @@ var LWC = (function (exports) {
1935
1949
  return handler.wrapValue(originalGet.call(unwrap$1(this)));
1936
1950
  };
1937
1951
 
1938
- getterMap$1.set(originalGet, get);
1952
+ getterMap.set(originalGet, get);
1939
1953
  return get;
1940
1954
  }
1941
1955
  }, {
1942
1956
  key: "wrapSetter",
1943
1957
  value: function wrapSetter(originalSet) {
1944
- var wrappedSetter = setterMap$1.get(originalSet);
1958
+ var wrappedSetter = setterMap.get(originalSet);
1945
1959
 
1946
1960
  if (!isUndefined(wrappedSetter)) {
1947
1961
  return wrappedSetter;
@@ -1950,18 +1964,22 @@ var LWC = (function (exports) {
1950
1964
  var set = function set(v) {
1951
1965
  };
1952
1966
 
1953
- setterMap$1.set(originalSet, set);
1967
+ setterMap.set(originalSet, set);
1954
1968
  return set;
1955
1969
  }
1956
1970
  }, {
1957
1971
  key: "set",
1958
1972
  value: function set(shadowTarget, key, value) {
1973
+ /* istanbul ignore next */
1974
+
1959
1975
 
1960
1976
  return false;
1961
1977
  }
1962
1978
  }, {
1963
1979
  key: "deleteProperty",
1964
1980
  value: function deleteProperty(shadowTarget, key) {
1981
+ /* istanbul ignore next */
1982
+
1965
1983
 
1966
1984
  return false;
1967
1985
  }
@@ -1972,12 +1990,16 @@ var LWC = (function (exports) {
1972
1990
  }, {
1973
1991
  key: "preventExtensions",
1974
1992
  value: function preventExtensions(shadowTarget) {
1993
+ /* istanbul ignore next */
1994
+
1975
1995
 
1976
1996
  return false;
1977
1997
  }
1978
1998
  }, {
1979
1999
  key: "defineProperty",
1980
2000
  value: function defineProperty(shadowTarget, key, descriptor) {
2001
+ /* istanbul ignore next */
2002
+
1981
2003
 
1982
2004
  return false;
1983
2005
  }
@@ -1986,8 +2008,6 @@ var LWC = (function (exports) {
1986
2008
  return ReadOnlyHandler;
1987
2009
  }(BaseProxyHandler);
1988
2010
 
1989
- var ObjectDotPrototype = Object.prototype;
1990
-
1991
2011
  function defaultValueIsObservable(value) {
1992
2012
  // intentionally checking for null
1993
2013
  if (value === null) {
@@ -2016,64 +2036,54 @@ var LWC = (function (exports) {
2016
2036
  /* do nothing */
2017
2037
  };
2018
2038
 
2019
- var defaultValueDistortion = function defaultValueDistortion(value) {
2020
- return value;
2021
- };
2022
-
2023
2039
  function createShadowTarget(value) {
2024
2040
  return isArray(value) ? [] : {};
2025
2041
  }
2026
2042
 
2027
- var ReactiveMembrane = /*#__PURE__*/function () {
2028
- function ReactiveMembrane(options) {
2029
- _classCallCheck(this, ReactiveMembrane);
2030
-
2031
- this.valueDistortion = defaultValueDistortion;
2032
- this.valueMutated = defaultValueMutated;
2033
- this.valueObserved = defaultValueObserved;
2034
- this.valueIsObservable = defaultValueIsObservable;
2035
- this.objectGraph = new WeakMap();
2036
-
2037
- if (!isUndefined(options)) {
2038
- var _valueDistortion = options.valueDistortion,
2039
- _valueMutated = options.valueMutated,
2040
- _valueObserved = options.valueObserved,
2041
- valueIsObservable = options.valueIsObservable,
2042
- tagPropertyKey = options.tagPropertyKey;
2043
- this.valueDistortion = isFunction(_valueDistortion) ? _valueDistortion : defaultValueDistortion;
2044
- this.valueMutated = isFunction(_valueMutated) ? _valueMutated : defaultValueMutated;
2045
- this.valueObserved = isFunction(_valueObserved) ? _valueObserved : defaultValueObserved;
2046
- this.valueIsObservable = isFunction(valueIsObservable) ? valueIsObservable : defaultValueIsObservable;
2047
- this.tagPropertyKey = tagPropertyKey;
2048
- }
2043
+ var ObservableMembrane = /*#__PURE__*/function () {
2044
+ function ObservableMembrane() {
2045
+ var options = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {};
2046
+
2047
+ _classCallCheck(this, ObservableMembrane);
2048
+
2049
+ this.readOnlyObjectGraph = new WeakMap();
2050
+ this.reactiveObjectGraph = new WeakMap();
2051
+ var valueMutated = options.valueMutated,
2052
+ valueObserved = options.valueObserved,
2053
+ valueIsObservable = options.valueIsObservable,
2054
+ tagPropertyKey = options.tagPropertyKey;
2055
+ this.valueMutated = isFunction(valueMutated) ? valueMutated : defaultValueMutated;
2056
+ this.valueObserved = isFunction(valueObserved) ? valueObserved : defaultValueObserved;
2057
+ this.valueIsObservable = isFunction(valueIsObservable) ? valueIsObservable : defaultValueIsObservable;
2058
+ this.tagPropertyKey = tagPropertyKey;
2049
2059
  }
2050
2060
 
2051
- _createClass(ReactiveMembrane, [{
2061
+ _createClass(ObservableMembrane, [{
2052
2062
  key: "getProxy",
2053
2063
  value: function getProxy(value) {
2054
2064
  var unwrappedValue = unwrap$1(value);
2055
- var distorted = this.valueDistortion(unwrappedValue);
2056
2065
 
2057
- if (this.valueIsObservable(distorted)) {
2058
- var o = this.getReactiveState(unwrappedValue, distorted); // when trying to extract the writable version of a readonly
2059
- // we return the readonly.
2066
+ if (this.valueIsObservable(unwrappedValue)) {
2067
+ // When trying to extract the writable version of a readonly we return the readonly.
2068
+ if (this.readOnlyObjectGraph.get(unwrappedValue) === value) {
2069
+ return value;
2070
+ }
2060
2071
 
2061
- return o.readOnly === value ? value : o.reactive;
2072
+ return this.getReactiveHandler(unwrappedValue);
2062
2073
  }
2063
2074
 
2064
- return distorted;
2075
+ return unwrappedValue;
2065
2076
  }
2066
2077
  }, {
2067
2078
  key: "getReadOnlyProxy",
2068
2079
  value: function getReadOnlyProxy(value) {
2069
2080
  value = unwrap$1(value);
2070
- var distorted = this.valueDistortion(value);
2071
2081
 
2072
- if (this.valueIsObservable(distorted)) {
2073
- return this.getReactiveState(value, distorted).readOnly;
2082
+ if (this.valueIsObservable(value)) {
2083
+ return this.getReadOnlyHandler(value);
2074
2084
  }
2075
2085
 
2076
- return distorted;
2086
+ return value;
2077
2087
  }
2078
2088
  }, {
2079
2089
  key: "unwrapProxy",
@@ -2081,48 +2091,40 @@ var LWC = (function (exports) {
2081
2091
  return unwrap$1(p);
2082
2092
  }
2083
2093
  }, {
2084
- key: "getReactiveState",
2085
- value: function getReactiveState(value, distortedValue) {
2086
- var objectGraph = this.objectGraph;
2087
- var reactiveState = objectGraph.get(distortedValue);
2088
-
2089
- if (reactiveState) {
2090
- return reactiveState;
2094
+ key: "getReactiveHandler",
2095
+ value: function getReactiveHandler(value) {
2096
+ var proxy = this.reactiveObjectGraph.get(value);
2097
+
2098
+ if (isUndefined(proxy)) {
2099
+ // caching the proxy after the first time it is accessed
2100
+ var handler = new ReactiveProxyHandler(this, value);
2101
+ proxy = new Proxy(createShadowTarget(value), handler);
2102
+ registerProxy(proxy, value);
2103
+ this.reactiveObjectGraph.set(value, proxy);
2091
2104
  }
2092
2105
 
2093
- var membrane = this;
2094
- reactiveState = {
2095
- get reactive() {
2096
- var reactiveHandler = new ReactiveProxyHandler(membrane, distortedValue); // caching the reactive proxy after the first time it is accessed
2097
-
2098
- var proxy = new Proxy(createShadowTarget(distortedValue), reactiveHandler);
2099
- registerProxy(proxy, value);
2100
- ObjectDefineProperty(this, 'reactive', {
2101
- value: proxy
2102
- });
2103
- return proxy;
2104
- },
2105
-
2106
- get readOnly() {
2107
- var readOnlyHandler = new ReadOnlyHandler(membrane, distortedValue); // caching the readOnly proxy after the first time it is accessed
2108
-
2109
- var proxy = new Proxy(createShadowTarget(distortedValue), readOnlyHandler);
2110
- registerProxy(proxy, value);
2111
- ObjectDefineProperty(this, 'readOnly', {
2112
- value: proxy
2113
- });
2114
- return proxy;
2115
- }
2106
+ return proxy;
2107
+ }
2108
+ }, {
2109
+ key: "getReadOnlyHandler",
2110
+ value: function getReadOnlyHandler(value) {
2111
+ var proxy = this.readOnlyObjectGraph.get(value);
2112
+
2113
+ if (isUndefined(proxy)) {
2114
+ // caching the proxy after the first time it is accessed
2115
+ var handler = new ReadOnlyHandler(this, value);
2116
+ proxy = new Proxy(createShadowTarget(value), handler);
2117
+ registerProxy(proxy, value);
2118
+ this.readOnlyObjectGraph.set(value, proxy);
2119
+ }
2116
2120
 
2117
- };
2118
- objectGraph.set(distortedValue, reactiveState);
2119
- return reactiveState;
2121
+ return proxy;
2120
2122
  }
2121
2123
  }]);
2122
2124
 
2123
- return ReactiveMembrane;
2125
+ return ObservableMembrane;
2124
2126
  }();
2125
- /** version: 1.0.0 */
2127
+ /** version: 2.0.0 */
2126
2128
 
2127
2129
  /*
2128
2130
  * Copyright (c) 2018, salesforce.com, inc.
@@ -2133,15 +2135,9 @@ var LWC = (function (exports) {
2133
2135
 
2134
2136
 
2135
2137
  var lockerLivePropertyKey = Symbol.for('@@lockerLiveValue');
2136
-
2137
- function valueDistortion(value) {
2138
- return value;
2139
- }
2140
-
2141
- var reactiveMembrane = new ReactiveMembrane({
2138
+ var reactiveMembrane = new ObservableMembrane({
2142
2139
  valueObserved: valueObserved,
2143
2140
  valueMutated: valueMutated,
2144
- valueDistortion: valueDistortion,
2145
2141
  tagPropertyKey: lockerLivePropertyKey
2146
2142
  });
2147
2143
  /**
@@ -2150,16 +2146,9 @@ var LWC = (function (exports) {
2150
2146
  * change or being removed.
2151
2147
  */
2152
2148
 
2153
- var unwrap = function unwrap(value) {
2154
- var unwrapped = reactiveMembrane.unwrapProxy(value);
2155
-
2156
- if (unwrapped !== value) {
2157
- // if value is a proxy, unwrap to access original value and apply distortion
2158
- return valueDistortion(unwrapped);
2159
- }
2160
-
2161
- return value;
2162
- };
2149
+ function unwrap(value) {
2150
+ return reactiveMembrane.unwrapProxy(value);
2151
+ }
2163
2152
  /*
2164
2153
  * Copyright (c) 2018, salesforce.com, inc.
2165
2154
  * All rights reserved.
@@ -3011,7 +3000,7 @@ var LWC = (function (exports) {
3011
3000
  return _super4.apply(this, arguments);
3012
3001
  }
3013
3002
 
3014
- return HTMLBridgeElement;
3003
+ return _createClass(HTMLBridgeElement);
3015
3004
  }(SuperClass);
3016
3005
  } else {
3017
3006
  HTMLBridgeElement = function HTMLBridgeElement() {
@@ -3464,12 +3453,14 @@ var LWC = (function (exports) {
3464
3453
  }
3465
3454
 
3466
3455
  function updateChildrenHook(oldVnode, vnode) {
3467
- var children = vnode.children,
3468
- owner = vnode.owner;
3469
- var fn = hasDynamicChildren(children) ? updateDynamicChildren : updateStaticChildren;
3470
- runWithBoundaryProtection(owner, owner.owner, noop, function () {
3471
- fn(vnode.elm, oldVnode.children, children);
3472
- }, noop);
3456
+ var elm = vnode.elm,
3457
+ children = vnode.children;
3458
+
3459
+ if (hasDynamicChildren(children)) {
3460
+ updateDynamicChildren(elm, oldVnode.children, children);
3461
+ } else {
3462
+ updateStaticChildren(elm, oldVnode.children, children);
3463
+ }
3473
3464
  }
3474
3465
 
3475
3466
  function allocateChildrenHook(vnode, vm) {
@@ -3657,7 +3648,7 @@ var LWC = (function (exports) {
3657
3648
  return _this4;
3658
3649
  }
3659
3650
 
3660
- return LWCUpgradableElement;
3651
+ return _createClass(LWCUpgradableElement);
3661
3652
  }(renderer.HTMLElement);
3662
3653
 
3663
3654
  renderer.defineCustomElement(tagName, CE);
@@ -4344,6 +4335,7 @@ var LWC = (function (exports) {
4344
4335
 
4345
4336
  function evaluateStylesheetsContent(stylesheets, stylesheetToken, vm) {
4346
4337
  var content = [];
4338
+ var root;
4347
4339
 
4348
4340
  for (var _i16 = 0; _i16 < stylesheets.length; _i16++) {
4349
4341
  var stylesheet = stylesheets[_i16];
@@ -4351,22 +4343,45 @@ var LWC = (function (exports) {
4351
4343
  if (isArray$1(stylesheet)) {
4352
4344
  ArrayPush$1.apply(content, evaluateStylesheetsContent(stylesheet, stylesheetToken, vm));
4353
4345
  } else {
4354
- // native shadow DOM. Synthetic shadow DOM never uses `:host`.
4355
4346
 
4347
+ var isScopedCss = stylesheet[KEY__SCOPED_CSS]; // Apply the scope token only if the stylesheet itself is scoped, or if we're rendering synthetic shadow.
4348
+
4349
+ var scopeToken = isScopedCss || vm.shadowMode === 1
4350
+ /* Synthetic */
4351
+ && vm.renderMode === 1
4352
+ /* Shadow */
4353
+ ? stylesheetToken : undefined; // Use the actual `:host` selector if we're rendering global CSS for light DOM, or if we're rendering
4354
+ // native shadow DOM. Synthetic shadow DOM never uses `:host`.
4356
4355
 
4357
- var isScopedCss = stylesheet[KEY__SCOPED_CSS];
4358
4356
  var useActualHostSelector = vm.renderMode === 0
4359
4357
  /* Light */
4360
4358
  ? !isScopedCss : vm.shadowMode === 0
4361
4359
  /* Native */
4362
- ; // Apply the scope token only if the stylesheet itself is scoped, or if we're rendering synthetic shadow.
4360
+ ; // Use the native :dir() pseudoclass only in native shadow DOM. Otherwise, in synthetic shadow,
4361
+ // we use an attribute selector on the host to simulate :dir().
4363
4362
 
4364
- var scopeToken = isScopedCss || vm.shadowMode === 1
4365
- /* Synthetic */
4366
- && vm.renderMode === 1
4363
+ var useNativeDirPseudoclass = void 0;
4364
+
4365
+ if (vm.renderMode === 1
4367
4366
  /* Shadow */
4368
- ? stylesheetToken : undefined;
4369
- ArrayPush$1.call(content, stylesheet(useActualHostSelector, scopeToken));
4367
+ ) {
4368
+ useNativeDirPseudoclass = vm.shadowMode === 0
4369
+ /* Native */
4370
+ ;
4371
+ } else {
4372
+ // Light DOM components should only render `[dir]` if they're inside of a synthetic shadow root.
4373
+ // At the top level (root is null) or inside of a native shadow root, they should use `:dir()`.
4374
+ if (isUndefined$1(root)) {
4375
+ // Only calculate the root once as necessary
4376
+ root = getNearestShadowComponent(vm);
4377
+ }
4378
+
4379
+ useNativeDirPseudoclass = isNull(root) || root.shadowMode === 0
4380
+ /* Native */
4381
+ ;
4382
+ }
4383
+
4384
+ ArrayPush$1.call(content, stylesheet(scopeToken, useActualHostSelector, useNativeDirPseudoclass));
4370
4385
  }
4371
4386
  }
4372
4387
 
@@ -4388,14 +4403,12 @@ var LWC = (function (exports) {
4388
4403
  // https://github.com/salesforce/lwc/pull/2460#discussion_r691208892
4389
4404
 
4390
4405
 
4391
- function getNearestNativeShadowComponent(vm) {
4406
+ function getNearestShadowComponent(vm) {
4392
4407
  var owner = vm;
4393
4408
 
4394
4409
  while (!isNull(owner)) {
4395
4410
  if (owner.renderMode === 1
4396
4411
  /* Shadow */
4397
- && owner.shadowMode === 0
4398
- /* Native */
4399
4412
  ) {
4400
4413
  return owner;
4401
4414
  }
@@ -4406,6 +4419,20 @@ var LWC = (function (exports) {
4406
4419
  return owner;
4407
4420
  }
4408
4421
 
4422
+ function getNearestNativeShadowComponent(vm) {
4423
+ var owner = getNearestShadowComponent(vm);
4424
+
4425
+ if (!isNull(owner) && owner.shadowMode === 1
4426
+ /* Synthetic */
4427
+ ) {
4428
+ // Synthetic-within-native is impossible. So if the nearest shadow component is
4429
+ // synthetic, we know we won't find a native component if we go any further.
4430
+ return null;
4431
+ }
4432
+
4433
+ return owner;
4434
+ }
4435
+
4409
4436
  function createStylesheet(vm, stylesheets) {
4410
4437
  var renderer = vm.renderer,
4411
4438
  renderMode = vm.renderMode,
@@ -4473,7 +4500,7 @@ var LWC = (function (exports) {
4473
4500
  if (isProfilerEnabled) {
4474
4501
  currentDispatcher(opId, 0
4475
4502
  /* Start */
4476
- , vm.tagName, vm.idx);
4503
+ , vm.tagName, vm.idx, vm.renderMode, vm.shadowMode);
4477
4504
  }
4478
4505
  }
4479
4506
 
@@ -4482,7 +4509,7 @@ var LWC = (function (exports) {
4482
4509
  if (isProfilerEnabled) {
4483
4510
  currentDispatcher(opId, 1
4484
4511
  /* Stop */
4485
- , vm.tagName, vm.idx);
4512
+ , vm.tagName, vm.idx, vm.renderMode, vm.shadowMode);
4486
4513
  }
4487
4514
  }
4488
4515
 
@@ -4491,7 +4518,7 @@ var LWC = (function (exports) {
4491
4518
  if (isProfilerEnabled) {
4492
4519
  currentDispatcher(opId, 0
4493
4520
  /* Start */
4494
- , vm === null || vm === void 0 ? void 0 : vm.tagName, vm === null || vm === void 0 ? void 0 : vm.idx);
4521
+ , vm === null || vm === void 0 ? void 0 : vm.tagName, vm === null || vm === void 0 ? void 0 : vm.idx, vm === null || vm === void 0 ? void 0 : vm.renderMode, vm === null || vm === void 0 ? void 0 : vm.shadowMode);
4495
4522
  }
4496
4523
  }
4497
4524
 
@@ -4500,7 +4527,7 @@ var LWC = (function (exports) {
4500
4527
  if (isProfilerEnabled) {
4501
4528
  currentDispatcher(opId, 1
4502
4529
  /* Stop */
4503
- , vm === null || vm === void 0 ? void 0 : vm.tagName, vm === null || vm === void 0 ? void 0 : vm.idx);
4530
+ , vm === null || vm === void 0 ? void 0 : vm.tagName, vm === null || vm === void 0 ? void 0 : vm.idx, vm === null || vm === void 0 ? void 0 : vm.renderMode, vm === null || vm === void 0 ? void 0 : vm.shadowMode);
4504
4531
  }
4505
4532
  }
4506
4533
  /*
@@ -5539,7 +5566,7 @@ var LWC = (function (exports) {
5539
5566
  return _this5;
5540
5567
  }
5541
5568
 
5542
- return WireContextRegistrationEvent;
5569
+ return _createClass(WireContextRegistrationEvent);
5543
5570
  }( /*#__PURE__*/_wrapNativeSuper(CustomEvent));
5544
5571
 
5545
5572
  function createFieldDataCallback(vm, name) {
@@ -5873,7 +5900,7 @@ var LWC = (function (exports) {
5873
5900
  hooksAreSet = true;
5874
5901
  setSanitizeHtmlContentHook(hooks.sanitizeHtmlContent);
5875
5902
  }
5876
- /* version: 2.5.10-alpha1 */
5903
+ /* version: 2.7.0 */
5877
5904
 
5878
5905
  /*
5879
5906
  * Copyright (c) 2018, salesforce.com, inc.
@@ -5920,7 +5947,7 @@ var LWC = (function (exports) {
5920
5947
  return _super7.apply(this, arguments);
5921
5948
  }
5922
5949
 
5923
- return clazz;
5950
+ return _createClass(clazz);
5924
5951
  }(HTMLElementAlias);
5925
5952
 
5926
5953
  customElements.define('lwc-test-' + Math.floor(Math.random() * 1000000), clazz);
@@ -6503,7 +6530,7 @@ var LWC = (function (exports) {
6503
6530
  });
6504
6531
  freeze(LightningElement);
6505
6532
  seal(LightningElement.prototype);
6506
- /* version: 2.5.10-alpha1 */
6533
+ /* version: 2.7.0 */
6507
6534
 
6508
6535
  exports.LightningElement = LightningElement;
6509
6536
  exports.__unstable__ProfilerControl = profilerControl;
@@ -6536,4 +6563,4 @@ var LWC = (function (exports) {
6536
6563
 
6537
6564
  return exports;
6538
6565
 
6539
- }({}));
6566
+ })({});