lwc 2.5.8 → 2.6.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 +161 -129
  2. package/dist/engine-dom/iife/es2017/engine-dom.js +161 -129
  3. package/dist/engine-dom/iife/es2017/engine-dom.min.js +2 -2
  4. package/dist/engine-dom/iife/es2017/engine-dom_debug.js +144 -125
  5. package/dist/engine-dom/iife/es5/engine-dom.js +174 -138
  6. package/dist/engine-dom/iife/es5/engine-dom.min.js +2 -2
  7. package/dist/engine-dom/iife/es5/engine-dom_debug.js +159 -136
  8. package/dist/engine-dom/umd/es2017/engine-dom.js +161 -129
  9. package/dist/engine-dom/umd/es2017/engine-dom.min.js +2 -2
  10. package/dist/engine-dom/umd/es2017/engine-dom_debug.js +144 -125
  11. package/dist/engine-dom/umd/es5/engine-dom.js +174 -138
  12. package/dist/engine-dom/umd/es5/engine-dom.min.js +2 -2
  13. package/dist/engine-dom/umd/es5/engine-dom_debug.js +159 -136
  14. package/dist/engine-server/commonjs/es2017/engine-server.js +161 -129
  15. package/dist/engine-server/commonjs/es2017/engine-server.min.js +2 -2
  16. package/dist/engine-server/esm/es2017/engine-server.js +161 -129
  17. package/dist/synthetic-shadow/esm/es2017/synthetic-shadow.js +23 -130
  18. package/dist/synthetic-shadow/iife/es2017/synthetic-shadow.js +23 -130
  19. package/dist/synthetic-shadow/iife/es2017/synthetic-shadow.min.js +2 -2
  20. package/dist/synthetic-shadow/iife/es2017/synthetic-shadow_debug.js +23 -130
  21. package/dist/synthetic-shadow/iife/es5/synthetic-shadow.js +23 -124
  22. package/dist/synthetic-shadow/iife/es5/synthetic-shadow.min.js +2 -2
  23. package/dist/synthetic-shadow/iife/es5/synthetic-shadow_debug.js +23 -124
  24. package/dist/synthetic-shadow/umd/es2017/synthetic-shadow.js +23 -130
  25. package/dist/synthetic-shadow/umd/es2017/synthetic-shadow.min.js +2 -2
  26. package/dist/synthetic-shadow/umd/es2017/synthetic-shadow_debug.js +23 -130
  27. package/dist/synthetic-shadow/umd/es5/synthetic-shadow.js +23 -124
  28. package/dist/synthetic-shadow/umd/es5/synthetic-shadow.min.js +2 -2
  29. package/dist/synthetic-shadow/umd/es5/synthetic-shadow_debug.js +23 -124
  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 +8 -8
@@ -18,7 +18,7 @@
18
18
 
19
19
  function _arrayWithoutHoles(arr) { if (Array.isArray(arr)) return _arrayLikeToArray(arr); }
20
20
 
21
- 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); }
21
+ 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); }
22
22
 
23
23
  function _superPropBase(object, property) { while (!Object.prototype.hasOwnProperty.call(object, property)) { object = _getPrototypeOf2(object); if (object === null) break; } return object; }
24
24
 
@@ -123,7 +123,7 @@
123
123
  var _Array$prototype = Array.prototype,
124
124
  ArrayIndexOf = _Array$prototype.indexOf,
125
125
  ArrayJoin = _Array$prototype.join,
126
- ArrayMap$1 = _Array$prototype.map,
126
+ ArrayMap = _Array$prototype.map,
127
127
  ArrayPush$1 = _Array$prototype.push,
128
128
  ArraySlice = _Array$prototype.slice,
129
129
  ArraySplice = _Array$prototype.splice,
@@ -180,7 +180,7 @@
180
180
  // Array.prototype.toString directly will cause an error Iterate through
181
181
  // all the items and handle individually.
182
182
  if (isArray$1(obj)) {
183
- return ArrayJoin.call(ArrayMap$1.call(obj, toString$1), ',');
183
+ return ArrayJoin.call(ArrayMap.call(obj, toString$1), ',');
184
184
  }
185
185
 
186
186
  return obj.toString();
@@ -344,7 +344,7 @@
344
344
  CACHED_PROPERTY_ATTRIBUTE_MAPPING.set(propName, attributeName);
345
345
  return attributeName;
346
346
  }
347
- /** version: 2.5.8 */
347
+ /** version: 2.6.1 */
348
348
 
349
349
  /*
350
350
  * Copyright (c) 2018, salesforce.com, inc.
@@ -456,7 +456,6 @@
456
456
  ENABLE_NODE_LIST_PATCH: null,
457
457
  ENABLE_HTML_COLLECTIONS_PATCH: null,
458
458
  ENABLE_NODE_PATCH: null,
459
- ENABLE_NON_COMPOSED_EVENTS_LEAKAGE: null,
460
459
  ENABLE_MIXED_SHADOW_MODE: null,
461
460
  ENABLE_WIRE_SYNC_EMIT: null
462
461
  };
@@ -516,7 +515,7 @@
516
515
 
517
516
  function setFeatureFlagForTest(name, value) {
518
517
  }
519
- /** version: 2.5.8 */
518
+ /** version: 2.6.1 */
520
519
 
521
520
  /* proxy-compat-disable */
522
521
 
@@ -1497,7 +1496,8 @@
1497
1496
  */
1498
1497
 
1499
1498
  var isArray = Array.isArray;
1500
- var _getPrototypeOf = Object.getPrototypeOf,
1499
+ var ObjectDotPrototype = Object.prototype,
1500
+ _getPrototypeOf = Object.getPrototypeOf,
1501
1501
  ObjectCreate = Object.create,
1502
1502
  ObjectDefineProperty = Object.defineProperty,
1503
1503
  _isExtensible = Object.isExtensible,
@@ -1564,7 +1564,10 @@
1564
1564
  // but it will always be compatible with the previous descriptor
1565
1565
  // to preserve the object invariants, which makes these lines safe.
1566
1566
 
1567
- var originalDescriptor = _getOwnPropertyDescriptor(originalTarget, key);
1567
+ var originalDescriptor = _getOwnPropertyDescriptor(originalTarget, key); // TODO: it should be impossible for the originalDescriptor to ever be undefined, this `if` can be removed
1568
+
1569
+ /* istanbul ignore else */
1570
+
1568
1571
 
1569
1572
  if (!isUndefined(originalDescriptor)) {
1570
1573
  var wrappedDesc = this.wrapDescriptor(originalDescriptor);
@@ -1589,12 +1592,18 @@
1589
1592
 
1590
1593
  _preventExtensions(shadowTarget);
1591
1594
  } // Shared Traps
1595
+ // TODO: apply() is never called
1596
+
1597
+ /* istanbul ignore next */
1592
1598
 
1593
1599
  }, {
1594
1600
  key: "apply",
1595
1601
  value: function apply(shadowTarget, thisArg, argArray) {
1596
1602
  /* No op */
1597
- }
1603
+ } // TODO: construct() is never called
1604
+
1605
+ /* istanbul ignore next */
1606
+
1598
1607
  }, {
1599
1608
  key: "construct",
1600
1609
  value: function construct(shadowTarget, argArray, newTarget) {
@@ -1699,8 +1708,8 @@
1699
1708
  return BaseProxyHandler;
1700
1709
  }();
1701
1710
 
1702
- var getterMap = new WeakMap();
1703
- var setterMap = new WeakMap();
1711
+ var getterMap$1 = new WeakMap();
1712
+ var setterMap$1 = new WeakMap();
1704
1713
  var reverseGetterMap = new WeakMap();
1705
1714
  var reverseSetterMap = new WeakMap();
1706
1715
 
@@ -1723,7 +1732,7 @@
1723
1732
  }, {
1724
1733
  key: "wrapGetter",
1725
1734
  value: function wrapGetter(originalGet) {
1726
- var wrappedGetter = getterMap.get(originalGet);
1735
+ var wrappedGetter = getterMap$1.get(originalGet);
1727
1736
 
1728
1737
  if (!isUndefined(wrappedGetter)) {
1729
1738
  return wrappedGetter;
@@ -1736,14 +1745,14 @@
1736
1745
  return handler.wrapValue(originalGet.call(unwrap$1(this)));
1737
1746
  };
1738
1747
 
1739
- getterMap.set(originalGet, get);
1748
+ getterMap$1.set(originalGet, get);
1740
1749
  reverseGetterMap.set(get, originalGet);
1741
1750
  return get;
1742
1751
  }
1743
1752
  }, {
1744
1753
  key: "wrapSetter",
1745
1754
  value: function wrapSetter(originalSet) {
1746
- var wrappedSetter = setterMap.get(originalSet);
1755
+ var wrappedSetter = setterMap$1.get(originalSet);
1747
1756
 
1748
1757
  if (!isUndefined(wrappedSetter)) {
1749
1758
  return wrappedSetter;
@@ -1754,7 +1763,7 @@
1754
1763
  originalSet.call(unwrap$1(this), unwrap$1(v));
1755
1764
  };
1756
1765
 
1757
- setterMap.set(originalSet, set);
1766
+ setterMap$1.set(originalSet, set);
1758
1767
  reverseSetterMap.set(set, originalSet);
1759
1768
  return set;
1760
1769
  }
@@ -1795,7 +1804,7 @@
1795
1804
  return unwrap$1(redGet.call(handler.wrapValue(this)));
1796
1805
  };
1797
1806
 
1798
- getterMap.set(get, redGet);
1807
+ getterMap$1.set(get, redGet);
1799
1808
  reverseGetterMap.set(redGet, get);
1800
1809
  return get;
1801
1810
  }
@@ -1815,7 +1824,7 @@
1815
1824
  redSet.call(handler.wrapValue(this), handler.wrapValue(v));
1816
1825
  };
1817
1826
 
1818
- setterMap.set(set, redSet);
1827
+ setterMap$1.set(set, redSet);
1819
1828
  reverseSetterMap.set(redSet, set);
1820
1829
  return set;
1821
1830
  }
@@ -1861,6 +1870,11 @@
1861
1870
  _preventExtensions(originalTarget); // if the originalTarget is a proxy itself, it might reject
1862
1871
  // the preventExtension call, in which case we should not attempt to lock down
1863
1872
  // the shadow target.
1873
+ // TODO: It should not actually be possible to reach this `if` statement.
1874
+ // If a proxy rejects extensions, then calling preventExtensions will throw an error:
1875
+ // https://codepen.io/nolanlawson-the-selector/pen/QWMOjbY
1876
+
1877
+ /* istanbul ignore if */
1864
1878
 
1865
1879
 
1866
1880
  if (_isExtensible(originalTarget)) {
@@ -1903,8 +1917,8 @@
1903
1917
  return ReactiveProxyHandler;
1904
1918
  }(BaseProxyHandler);
1905
1919
 
1906
- var getterMap$1 = new WeakMap();
1907
- var setterMap$1 = new WeakMap();
1920
+ var getterMap = new WeakMap();
1921
+ var setterMap = new WeakMap();
1908
1922
 
1909
1923
  var ReadOnlyHandler = /*#__PURE__*/function (_BaseProxyHandler2) {
1910
1924
  _inherits(ReadOnlyHandler, _BaseProxyHandler2);
@@ -1925,7 +1939,7 @@
1925
1939
  }, {
1926
1940
  key: "wrapGetter",
1927
1941
  value: function wrapGetter(originalGet) {
1928
- var wrappedGetter = getterMap$1.get(originalGet);
1942
+ var wrappedGetter = getterMap.get(originalGet);
1929
1943
 
1930
1944
  if (!isUndefined(wrappedGetter)) {
1931
1945
  return wrappedGetter;
@@ -1938,13 +1952,13 @@
1938
1952
  return handler.wrapValue(originalGet.call(unwrap$1(this)));
1939
1953
  };
1940
1954
 
1941
- getterMap$1.set(originalGet, get);
1955
+ getterMap.set(originalGet, get);
1942
1956
  return get;
1943
1957
  }
1944
1958
  }, {
1945
1959
  key: "wrapSetter",
1946
1960
  value: function wrapSetter(originalSet) {
1947
- var wrappedSetter = setterMap$1.get(originalSet);
1961
+ var wrappedSetter = setterMap.get(originalSet);
1948
1962
 
1949
1963
  if (!isUndefined(wrappedSetter)) {
1950
1964
  return wrappedSetter;
@@ -1953,18 +1967,22 @@
1953
1967
  var set = function set(v) {
1954
1968
  };
1955
1969
 
1956
- setterMap$1.set(originalSet, set);
1970
+ setterMap.set(originalSet, set);
1957
1971
  return set;
1958
1972
  }
1959
1973
  }, {
1960
1974
  key: "set",
1961
1975
  value: function set(shadowTarget, key, value) {
1976
+ /* istanbul ignore next */
1977
+
1962
1978
 
1963
1979
  return false;
1964
1980
  }
1965
1981
  }, {
1966
1982
  key: "deleteProperty",
1967
1983
  value: function deleteProperty(shadowTarget, key) {
1984
+ /* istanbul ignore next */
1985
+
1968
1986
 
1969
1987
  return false;
1970
1988
  }
@@ -1975,12 +1993,16 @@
1975
1993
  }, {
1976
1994
  key: "preventExtensions",
1977
1995
  value: function preventExtensions(shadowTarget) {
1996
+ /* istanbul ignore next */
1997
+
1978
1998
 
1979
1999
  return false;
1980
2000
  }
1981
2001
  }, {
1982
2002
  key: "defineProperty",
1983
2003
  value: function defineProperty(shadowTarget, key, descriptor) {
2004
+ /* istanbul ignore next */
2005
+
1984
2006
 
1985
2007
  return false;
1986
2008
  }
@@ -1989,8 +2011,6 @@
1989
2011
  return ReadOnlyHandler;
1990
2012
  }(BaseProxyHandler);
1991
2013
 
1992
- var ObjectDotPrototype = Object.prototype;
1993
-
1994
2014
  function defaultValueIsObservable(value) {
1995
2015
  // intentionally checking for null
1996
2016
  if (value === null) {
@@ -2019,64 +2039,54 @@
2019
2039
  /* do nothing */
2020
2040
  };
2021
2041
 
2022
- var defaultValueDistortion = function defaultValueDistortion(value) {
2023
- return value;
2024
- };
2025
-
2026
2042
  function createShadowTarget(value) {
2027
2043
  return isArray(value) ? [] : {};
2028
2044
  }
2029
2045
 
2030
- var ReactiveMembrane = /*#__PURE__*/function () {
2031
- function ReactiveMembrane(options) {
2032
- _classCallCheck(this, ReactiveMembrane);
2033
-
2034
- this.valueDistortion = defaultValueDistortion;
2035
- this.valueMutated = defaultValueMutated;
2036
- this.valueObserved = defaultValueObserved;
2037
- this.valueIsObservable = defaultValueIsObservable;
2038
- this.objectGraph = new WeakMap();
2039
-
2040
- if (!isUndefined(options)) {
2041
- var _valueDistortion = options.valueDistortion,
2042
- _valueMutated = options.valueMutated,
2043
- _valueObserved = options.valueObserved,
2044
- valueIsObservable = options.valueIsObservable,
2045
- tagPropertyKey = options.tagPropertyKey;
2046
- this.valueDistortion = isFunction(_valueDistortion) ? _valueDistortion : defaultValueDistortion;
2047
- this.valueMutated = isFunction(_valueMutated) ? _valueMutated : defaultValueMutated;
2048
- this.valueObserved = isFunction(_valueObserved) ? _valueObserved : defaultValueObserved;
2049
- this.valueIsObservable = isFunction(valueIsObservable) ? valueIsObservable : defaultValueIsObservable;
2050
- this.tagPropertyKey = tagPropertyKey;
2051
- }
2046
+ var ObservableMembrane = /*#__PURE__*/function () {
2047
+ function ObservableMembrane() {
2048
+ var options = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {};
2049
+
2050
+ _classCallCheck(this, ObservableMembrane);
2051
+
2052
+ this.readOnlyObjectGraph = new WeakMap();
2053
+ this.reactiveObjectGraph = new WeakMap();
2054
+ var valueMutated = options.valueMutated,
2055
+ valueObserved = options.valueObserved,
2056
+ valueIsObservable = options.valueIsObservable,
2057
+ tagPropertyKey = options.tagPropertyKey;
2058
+ this.valueMutated = isFunction(valueMutated) ? valueMutated : defaultValueMutated;
2059
+ this.valueObserved = isFunction(valueObserved) ? valueObserved : defaultValueObserved;
2060
+ this.valueIsObservable = isFunction(valueIsObservable) ? valueIsObservable : defaultValueIsObservable;
2061
+ this.tagPropertyKey = tagPropertyKey;
2052
2062
  }
2053
2063
 
2054
- _createClass(ReactiveMembrane, [{
2064
+ _createClass(ObservableMembrane, [{
2055
2065
  key: "getProxy",
2056
2066
  value: function getProxy(value) {
2057
2067
  var unwrappedValue = unwrap$1(value);
2058
- var distorted = this.valueDistortion(unwrappedValue);
2059
2068
 
2060
- if (this.valueIsObservable(distorted)) {
2061
- var o = this.getReactiveState(unwrappedValue, distorted); // when trying to extract the writable version of a readonly
2062
- // we return the readonly.
2069
+ if (this.valueIsObservable(unwrappedValue)) {
2070
+ // When trying to extract the writable version of a readonly we return the readonly.
2071
+ if (this.readOnlyObjectGraph.get(unwrappedValue) === value) {
2072
+ return value;
2073
+ }
2063
2074
 
2064
- return o.readOnly === value ? value : o.reactive;
2075
+ return this.getReactiveHandler(unwrappedValue);
2065
2076
  }
2066
2077
 
2067
- return distorted;
2078
+ return unwrappedValue;
2068
2079
  }
2069
2080
  }, {
2070
2081
  key: "getReadOnlyProxy",
2071
2082
  value: function getReadOnlyProxy(value) {
2072
2083
  value = unwrap$1(value);
2073
- var distorted = this.valueDistortion(value);
2074
2084
 
2075
- if (this.valueIsObservable(distorted)) {
2076
- return this.getReactiveState(value, distorted).readOnly;
2085
+ if (this.valueIsObservable(value)) {
2086
+ return this.getReadOnlyHandler(value);
2077
2087
  }
2078
2088
 
2079
- return distorted;
2089
+ return value;
2080
2090
  }
2081
2091
  }, {
2082
2092
  key: "unwrapProxy",
@@ -2084,48 +2094,40 @@
2084
2094
  return unwrap$1(p);
2085
2095
  }
2086
2096
  }, {
2087
- key: "getReactiveState",
2088
- value: function getReactiveState(value, distortedValue) {
2089
- var objectGraph = this.objectGraph;
2090
- var reactiveState = objectGraph.get(distortedValue);
2091
-
2092
- if (reactiveState) {
2093
- return reactiveState;
2097
+ key: "getReactiveHandler",
2098
+ value: function getReactiveHandler(value) {
2099
+ var proxy = this.reactiveObjectGraph.get(value);
2100
+
2101
+ if (isUndefined(proxy)) {
2102
+ // caching the proxy after the first time it is accessed
2103
+ var handler = new ReactiveProxyHandler(this, value);
2104
+ proxy = new Proxy(createShadowTarget(value), handler);
2105
+ registerProxy(proxy, value);
2106
+ this.reactiveObjectGraph.set(value, proxy);
2094
2107
  }
2095
2108
 
2096
- var membrane = this;
2097
- reactiveState = {
2098
- get reactive() {
2099
- var reactiveHandler = new ReactiveProxyHandler(membrane, distortedValue); // caching the reactive proxy after the first time it is accessed
2100
-
2101
- var proxy = new Proxy(createShadowTarget(distortedValue), reactiveHandler);
2102
- registerProxy(proxy, value);
2103
- ObjectDefineProperty(this, 'reactive', {
2104
- value: proxy
2105
- });
2106
- return proxy;
2107
- },
2108
-
2109
- get readOnly() {
2110
- var readOnlyHandler = new ReadOnlyHandler(membrane, distortedValue); // caching the readOnly proxy after the first time it is accessed
2111
-
2112
- var proxy = new Proxy(createShadowTarget(distortedValue), readOnlyHandler);
2113
- registerProxy(proxy, value);
2114
- ObjectDefineProperty(this, 'readOnly', {
2115
- value: proxy
2116
- });
2117
- return proxy;
2118
- }
2109
+ return proxy;
2110
+ }
2111
+ }, {
2112
+ key: "getReadOnlyHandler",
2113
+ value: function getReadOnlyHandler(value) {
2114
+ var proxy = this.readOnlyObjectGraph.get(value);
2115
+
2116
+ if (isUndefined(proxy)) {
2117
+ // caching the proxy after the first time it is accessed
2118
+ var handler = new ReadOnlyHandler(this, value);
2119
+ proxy = new Proxy(createShadowTarget(value), handler);
2120
+ registerProxy(proxy, value);
2121
+ this.readOnlyObjectGraph.set(value, proxy);
2122
+ }
2119
2123
 
2120
- };
2121
- objectGraph.set(distortedValue, reactiveState);
2122
- return reactiveState;
2124
+ return proxy;
2123
2125
  }
2124
2126
  }]);
2125
2127
 
2126
- return ReactiveMembrane;
2128
+ return ObservableMembrane;
2127
2129
  }();
2128
- /** version: 1.0.0 */
2130
+ /** version: 2.0.0 */
2129
2131
 
2130
2132
  /*
2131
2133
  * Copyright (c) 2018, salesforce.com, inc.
@@ -2136,15 +2138,9 @@
2136
2138
 
2137
2139
 
2138
2140
  var lockerLivePropertyKey = Symbol.for('@@lockerLiveValue');
2139
-
2140
- function valueDistortion(value) {
2141
- return value;
2142
- }
2143
-
2144
- var reactiveMembrane = new ReactiveMembrane({
2141
+ var reactiveMembrane = new ObservableMembrane({
2145
2142
  valueObserved: valueObserved,
2146
2143
  valueMutated: valueMutated,
2147
- valueDistortion: valueDistortion,
2148
2144
  tagPropertyKey: lockerLivePropertyKey
2149
2145
  });
2150
2146
  /**
@@ -2153,16 +2149,9 @@
2153
2149
  * change or being removed.
2154
2150
  */
2155
2151
 
2156
- var unwrap = function unwrap(value) {
2157
- var unwrapped = reactiveMembrane.unwrapProxy(value);
2158
-
2159
- if (unwrapped !== value) {
2160
- // if value is a proxy, unwrap to access original value and apply distortion
2161
- return valueDistortion(unwrapped);
2162
- }
2163
-
2164
- return value;
2165
- };
2152
+ function unwrap(value) {
2153
+ return reactiveMembrane.unwrapProxy(value);
2154
+ }
2166
2155
  /*
2167
2156
  * Copyright (c) 2018, salesforce.com, inc.
2168
2157
  * All rights reserved.
@@ -4087,7 +4076,7 @@
4087
4076
 
4088
4077
 
4089
4078
  function d(value) {
4090
- return value == null ? '' : value;
4079
+ return value == null ? '' : String(value);
4091
4080
  } // [b]ind function
4092
4081
 
4093
4082
 
@@ -4347,6 +4336,7 @@
4347
4336
 
4348
4337
  function evaluateStylesheetsContent(stylesheets, stylesheetToken, vm) {
4349
4338
  var content = [];
4339
+ var root;
4350
4340
 
4351
4341
  for (var _i16 = 0; _i16 < stylesheets.length; _i16++) {
4352
4342
  var stylesheet = stylesheets[_i16];
@@ -4354,22 +4344,45 @@
4354
4344
  if (isArray$1(stylesheet)) {
4355
4345
  ArrayPush$1.apply(content, evaluateStylesheetsContent(stylesheet, stylesheetToken, vm));
4356
4346
  } else {
4357
- // native shadow DOM. Synthetic shadow DOM never uses `:host`.
4358
4347
 
4348
+ var isScopedCss = stylesheet[KEY__SCOPED_CSS]; // Apply the scope token only if the stylesheet itself is scoped, or if we're rendering synthetic shadow.
4349
+
4350
+ var scopeToken = isScopedCss || vm.shadowMode === 1
4351
+ /* Synthetic */
4352
+ && vm.renderMode === 1
4353
+ /* Shadow */
4354
+ ? stylesheetToken : undefined; // Use the actual `:host` selector if we're rendering global CSS for light DOM, or if we're rendering
4355
+ // native shadow DOM. Synthetic shadow DOM never uses `:host`.
4359
4356
 
4360
- var isScopedCss = stylesheet[KEY__SCOPED_CSS];
4361
4357
  var useActualHostSelector = vm.renderMode === 0
4362
4358
  /* Light */
4363
4359
  ? !isScopedCss : vm.shadowMode === 0
4364
4360
  /* Native */
4365
- ; // Apply the scope token only if the stylesheet itself is scoped, or if we're rendering synthetic shadow.
4361
+ ; // Use the native :dir() pseudoclass only in native shadow DOM. Otherwise, in synthetic shadow,
4362
+ // we use an attribute selector on the host to simulate :dir().
4366
4363
 
4367
- var scopeToken = isScopedCss || vm.shadowMode === 1
4368
- /* Synthetic */
4369
- && vm.renderMode === 1
4364
+ var useNativeDirPseudoclass = void 0;
4365
+
4366
+ if (vm.renderMode === 1
4370
4367
  /* Shadow */
4371
- ? stylesheetToken : undefined;
4372
- ArrayPush$1.call(content, stylesheet(useActualHostSelector, scopeToken));
4368
+ ) {
4369
+ useNativeDirPseudoclass = vm.shadowMode === 0
4370
+ /* Native */
4371
+ ;
4372
+ } else {
4373
+ // Light DOM components should only render `[dir]` if they're inside of a synthetic shadow root.
4374
+ // At the top level (root is null) or inside of a native shadow root, they should use `:dir()`.
4375
+ if (isUndefined$1(root)) {
4376
+ // Only calculate the root once as necessary
4377
+ root = getNearestShadowComponent(vm);
4378
+ }
4379
+
4380
+ useNativeDirPseudoclass = isNull(root) || root.shadowMode === 0
4381
+ /* Native */
4382
+ ;
4383
+ }
4384
+
4385
+ ArrayPush$1.call(content, stylesheet(scopeToken, useActualHostSelector, useNativeDirPseudoclass));
4373
4386
  }
4374
4387
  }
4375
4388
 
@@ -4391,14 +4404,12 @@
4391
4404
  // https://github.com/salesforce/lwc/pull/2460#discussion_r691208892
4392
4405
 
4393
4406
 
4394
- function getNearestNativeShadowComponent(vm) {
4407
+ function getNearestShadowComponent(vm) {
4395
4408
  var owner = vm;
4396
4409
 
4397
4410
  while (!isNull(owner)) {
4398
4411
  if (owner.renderMode === 1
4399
4412
  /* Shadow */
4400
- && owner.shadowMode === 0
4401
- /* Native */
4402
4413
  ) {
4403
4414
  return owner;
4404
4415
  }
@@ -4409,6 +4420,20 @@
4409
4420
  return owner;
4410
4421
  }
4411
4422
 
4423
+ function getNearestNativeShadowComponent(vm) {
4424
+ var owner = getNearestShadowComponent(vm);
4425
+
4426
+ if (!isNull(owner) && owner.shadowMode === 1
4427
+ /* Synthetic */
4428
+ ) {
4429
+ // Synthetic-within-native is impossible. So if the nearest shadow component is
4430
+ // synthetic, we know we won't find a native component if we go any further.
4431
+ return null;
4432
+ }
4433
+
4434
+ return owner;
4435
+ }
4436
+
4412
4437
  function createStylesheet(vm, stylesheets) {
4413
4438
  var renderer = vm.renderer,
4414
4439
  renderMode = vm.renderMode,
@@ -4422,7 +4447,7 @@
4422
4447
  for (var _i17 = 0; _i17 < stylesheets.length; _i17++) {
4423
4448
  renderer.insertGlobalStylesheet(stylesheets[_i17]);
4424
4449
  }
4425
- } else if (renderer.ssr || renderer.isHydrating) {
4450
+ } else if (renderer.ssr || renderer.isHydrating()) {
4426
4451
  // Note: We need to ensure that during hydration, the stylesheets method is the same as those in ssr.
4427
4452
  // This works in the client, because the stylesheets are created, and cached in the VM
4428
4453
  // the first time the VM renders.
@@ -5876,7 +5901,7 @@
5876
5901
  hooksAreSet = true;
5877
5902
  setSanitizeHtmlContentHook(hooks.sanitizeHtmlContent);
5878
5903
  }
5879
- /* version: 2.5.8 */
5904
+ /* version: 2.6.1 */
5880
5905
 
5881
5906
  /*
5882
5907
  * Copyright (c) 2018, salesforce.com, inc.
@@ -6021,19 +6046,17 @@
6021
6046
  HTMLElementConstructor.prototype = HTMLElement.prototype;
6022
6047
  }
6023
6048
 
6024
- var isHydrating = false;
6049
+ var _isHydrating = false;
6025
6050
 
6026
6051
  function setIsHydrating(v) {
6027
- isHydrating = v;
6052
+ _isHydrating = v;
6028
6053
  }
6029
6054
 
6030
6055
  var renderer = {
6031
6056
  ssr: false,
6032
-
6033
- get isHydrating() {
6034
- return isHydrating;
6057
+ isHydrating: function isHydrating() {
6058
+ return _isHydrating;
6035
6059
  },
6036
-
6037
6060
  isNativeShadowDefined: _globalThis[KEY__IS_NATIVE_SHADOW_ROOT_DEFINED],
6038
6061
  isSyntheticShadowDefined: hasOwnProperty$1.call(Element.prototype, KEY__SHADOW_TOKEN),
6039
6062
  createElement: function createElement(tagName, namespace) {
@@ -6055,7 +6078,7 @@
6055
6078
  return node.nextSibling;
6056
6079
  },
6057
6080
  attachShadow: function attachShadow(element, options) {
6058
- if (isHydrating) {
6081
+ if (_isHydrating) {
6059
6082
  return element.shadowRoot;
6060
6083
  }
6061
6084
 
@@ -6508,7 +6531,7 @@
6508
6531
  });
6509
6532
  freeze(LightningElement);
6510
6533
  seal(LightningElement.prototype);
6511
- /* version: 2.5.8 */
6534
+ /* version: 2.6.1 */
6512
6535
 
6513
6536
  exports.LightningElement = LightningElement;
6514
6537
  exports.__unstable__ProfilerControl = profilerControl;