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
@@ -2,7 +2,7 @@
2
2
  typeof exports === 'object' && typeof module !== 'undefined' ? factory(exports) :
3
3
  typeof define === 'function' && define.amd ? define(['exports'], factory) :
4
4
  (global = typeof globalThis !== 'undefined' ? globalThis : global || self, factory(global.LWC = {}));
5
- }(this, (function (exports) { 'use strict';
5
+ })(this, (function (exports) { 'use strict';
6
6
 
7
7
  function _wrapNativeSuper(Class) { var _cache = typeof Map === "function" ? new Map() : undefined; _wrapNativeSuper = function _wrapNativeSuper(Class) { if (Class === null || !_isNativeFunction(Class)) return Class; if (typeof Class !== "function") { throw new TypeError("Super expression must either be null or a function"); } if (typeof _cache !== "undefined") { if (_cache.has(Class)) return _cache.get(Class); _cache.set(Class, Wrapper); } function Wrapper() { return _construct(Class, arguments, _getPrototypeOf2(this).constructor); } Wrapper.prototype = Object.create(Class.prototype, { constructor: { value: Wrapper, enumerable: false, writable: true, configurable: true } }); return _setPrototypeOf(Wrapper, Class); }; return _wrapNativeSuper(Class); }
8
8
 
@@ -18,13 +18,13 @@
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
 
25
25
  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; }
26
26
 
27
- 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); }
27
+ 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); }
28
28
 
29
29
  function _setPrototypeOf(o, p) { _setPrototypeOf = Object.setPrototypeOf || function _setPrototypeOf(o, p) { o.__proto__ = p; return o; }; return _setPrototypeOf(o, p); }
30
30
 
@@ -42,7 +42,7 @@
42
42
 
43
43
  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); } }
44
44
 
45
- function _createClass(Constructor, protoProps, staticProps) { if (protoProps) _defineProperties(Constructor.prototype, protoProps); if (staticProps) _defineProperties(Constructor, staticProps); return Constructor; }
45
+ function _createClass(Constructor, protoProps, staticProps) { if (protoProps) _defineProperties(Constructor.prototype, protoProps); if (staticProps) _defineProperties(Constructor, staticProps); Object.defineProperty(Constructor, "prototype", { writable: false }); return Constructor; }
46
46
 
47
47
  function _slicedToArray(arr, i) { return _arrayWithHoles(arr) || _iterableToArrayLimit(arr, i) || _unsupportedIterableToArray(arr, i) || _nonIterableRest(); }
48
48
 
@@ -58,7 +58,7 @@
58
58
 
59
59
  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; }
60
60
 
61
- 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); }
61
+ 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); }
62
62
 
63
63
  /* proxy-compat-disable */
64
64
 
@@ -126,7 +126,7 @@
126
126
  ArrayFilter = _Array$prototype.filter,
127
127
  ArrayIndexOf = _Array$prototype.indexOf,
128
128
  ArrayJoin = _Array$prototype.join,
129
- ArrayMap$1 = _Array$prototype.map,
129
+ ArrayMap = _Array$prototype.map,
130
130
  ArrayPush$1 = _Array$prototype.push,
131
131
  ArraySlice = _Array$prototype.slice,
132
132
  ArraySplice = _Array$prototype.splice,
@@ -187,7 +187,7 @@
187
187
  // Array.prototype.toString directly will cause an error Iterate through
188
188
  // all the items and handle individually.
189
189
  if (isArray$1(obj)) {
190
- return ArrayJoin.call(ArrayMap$1.call(obj, toString$1), ',');
190
+ return ArrayJoin.call(ArrayMap.call(obj, toString$1), ',');
191
191
  }
192
192
 
193
193
  return obj.toString();
@@ -351,7 +351,7 @@
351
351
  CACHED_PROPERTY_ATTRIBUTE_MAPPING.set(propName, attributeName);
352
352
  return attributeName;
353
353
  }
354
- /** version: 2.5.10-alpha1 */
354
+ /** version: 2.7.0 */
355
355
 
356
356
  /*
357
357
  * Copyright (c) 2018, salesforce.com, inc.
@@ -463,7 +463,6 @@
463
463
  ENABLE_NODE_LIST_PATCH: null,
464
464
  ENABLE_HTML_COLLECTIONS_PATCH: null,
465
465
  ENABLE_NODE_PATCH: null,
466
- ENABLE_NON_COMPOSED_EVENTS_LEAKAGE: null,
467
466
  ENABLE_MIXED_SHADOW_MODE: null,
468
467
  ENABLE_WIRE_SYNC_EMIT: null
469
468
  };
@@ -531,7 +530,7 @@
531
530
  setFeatureFlag(name, value);
532
531
  }
533
532
  }
534
- /** version: 2.5.10-alpha1 */
533
+ /** version: 2.7.0 */
535
534
 
536
535
  /* proxy-compat-disable */
537
536
 
@@ -1915,7 +1914,8 @@
1915
1914
  */
1916
1915
 
1917
1916
  var isArray = Array.isArray;
1918
- var _getPrototypeOf = Object.getPrototypeOf,
1917
+ var ObjectDotPrototype = Object.prototype,
1918
+ _getPrototypeOf = Object.getPrototypeOf,
1919
1919
  ObjectCreate = Object.create,
1920
1920
  ObjectDefineProperty = Object.defineProperty,
1921
1921
  _isExtensible = Object.isExtensible,
@@ -1993,7 +1993,10 @@
1993
1993
  // but it will always be compatible with the previous descriptor
1994
1994
  // to preserve the object invariants, which makes these lines safe.
1995
1995
 
1996
- var originalDescriptor = _getOwnPropertyDescriptor(originalTarget, key);
1996
+ var originalDescriptor = _getOwnPropertyDescriptor(originalTarget, key); // TODO: it should be impossible for the originalDescriptor to ever be undefined, this `if` can be removed
1997
+
1998
+ /* istanbul ignore else */
1999
+
1997
2000
 
1998
2001
  if (!isUndefined(originalDescriptor)) {
1999
2002
  var wrappedDesc = this.wrapDescriptor(originalDescriptor);
@@ -2018,12 +2021,18 @@
2018
2021
 
2019
2022
  _preventExtensions(shadowTarget);
2020
2023
  } // Shared Traps
2024
+ // TODO: apply() is never called
2025
+
2026
+ /* istanbul ignore next */
2021
2027
 
2022
2028
  }, {
2023
2029
  key: "apply",
2024
2030
  value: function apply(shadowTarget, thisArg, argArray) {
2025
2031
  /* No op */
2026
- }
2032
+ } // TODO: construct() is never called
2033
+
2034
+ /* istanbul ignore next */
2035
+
2027
2036
  }, {
2028
2037
  key: "construct",
2029
2038
  value: function construct(shadowTarget, argArray, newTarget) {
@@ -2128,8 +2137,8 @@
2128
2137
  return BaseProxyHandler;
2129
2138
  }();
2130
2139
 
2131
- var getterMap = new WeakMap();
2132
- var setterMap = new WeakMap();
2140
+ var getterMap$1 = new WeakMap();
2141
+ var setterMap$1 = new WeakMap();
2133
2142
  var reverseGetterMap = new WeakMap();
2134
2143
  var reverseSetterMap = new WeakMap();
2135
2144
 
@@ -2152,7 +2161,7 @@
2152
2161
  }, {
2153
2162
  key: "wrapGetter",
2154
2163
  value: function wrapGetter(originalGet) {
2155
- var wrappedGetter = getterMap.get(originalGet);
2164
+ var wrappedGetter = getterMap$1.get(originalGet);
2156
2165
 
2157
2166
  if (!isUndefined(wrappedGetter)) {
2158
2167
  return wrappedGetter;
@@ -2165,14 +2174,14 @@
2165
2174
  return handler.wrapValue(originalGet.call(unwrap$1(this)));
2166
2175
  };
2167
2176
 
2168
- getterMap.set(originalGet, get);
2177
+ getterMap$1.set(originalGet, get);
2169
2178
  reverseGetterMap.set(get, originalGet);
2170
2179
  return get;
2171
2180
  }
2172
2181
  }, {
2173
2182
  key: "wrapSetter",
2174
2183
  value: function wrapSetter(originalSet) {
2175
- var wrappedSetter = setterMap.get(originalSet);
2184
+ var wrappedSetter = setterMap$1.get(originalSet);
2176
2185
 
2177
2186
  if (!isUndefined(wrappedSetter)) {
2178
2187
  return wrappedSetter;
@@ -2183,7 +2192,7 @@
2183
2192
  originalSet.call(unwrap$1(this), unwrap$1(v));
2184
2193
  };
2185
2194
 
2186
- setterMap.set(originalSet, set);
2195
+ setterMap$1.set(originalSet, set);
2187
2196
  reverseSetterMap.set(set, originalSet);
2188
2197
  return set;
2189
2198
  }
@@ -2224,7 +2233,7 @@
2224
2233
  return unwrap$1(redGet.call(handler.wrapValue(this)));
2225
2234
  };
2226
2235
 
2227
- getterMap.set(get, redGet);
2236
+ getterMap$1.set(get, redGet);
2228
2237
  reverseGetterMap.set(redGet, get);
2229
2238
  return get;
2230
2239
  }
@@ -2244,7 +2253,7 @@
2244
2253
  redSet.call(handler.wrapValue(this), handler.wrapValue(v));
2245
2254
  };
2246
2255
 
2247
- setterMap.set(set, redSet);
2256
+ setterMap$1.set(set, redSet);
2248
2257
  reverseSetterMap.set(redSet, set);
2249
2258
  return set;
2250
2259
  }
@@ -2280,6 +2289,7 @@
2280
2289
  }, {
2281
2290
  key: "setPrototypeOf",
2282
2291
  value: function setPrototypeOf(shadowTarget, prototype) {
2292
+ /* istanbul ignore else */
2283
2293
  if (process.env.NODE_ENV !== 'production') {
2284
2294
  throw new Error("Invalid setPrototypeOf invocation for reactive proxy ".concat(toString(this.originalTarget), ". Prototype of reactive objects cannot be changed."));
2285
2295
  }
@@ -2293,6 +2303,11 @@
2293
2303
  _preventExtensions(originalTarget); // if the originalTarget is a proxy itself, it might reject
2294
2304
  // the preventExtension call, in which case we should not attempt to lock down
2295
2305
  // the shadow target.
2306
+ // TODO: It should not actually be possible to reach this `if` statement.
2307
+ // If a proxy rejects extensions, then calling preventExtensions will throw an error:
2308
+ // https://codepen.io/nolanlawson-the-selector/pen/QWMOjbY
2309
+
2310
+ /* istanbul ignore if */
2296
2311
 
2297
2312
 
2298
2313
  if (_isExtensible(originalTarget)) {
@@ -2335,8 +2350,8 @@
2335
2350
  return ReactiveProxyHandler;
2336
2351
  }(BaseProxyHandler);
2337
2352
 
2338
- var getterMap$1 = new WeakMap();
2339
- var setterMap$1 = new WeakMap();
2353
+ var getterMap = new WeakMap();
2354
+ var setterMap = new WeakMap();
2340
2355
 
2341
2356
  var ReadOnlyHandler = /*#__PURE__*/function (_BaseProxyHandler2) {
2342
2357
  _inherits(ReadOnlyHandler, _BaseProxyHandler2);
@@ -2357,7 +2372,7 @@
2357
2372
  }, {
2358
2373
  key: "wrapGetter",
2359
2374
  value: function wrapGetter(originalGet) {
2360
- var wrappedGetter = getterMap$1.get(originalGet);
2375
+ var wrappedGetter = getterMap.get(originalGet);
2361
2376
 
2362
2377
  if (!isUndefined(wrappedGetter)) {
2363
2378
  return wrappedGetter;
@@ -2370,13 +2385,13 @@
2370
2385
  return handler.wrapValue(originalGet.call(unwrap$1(this)));
2371
2386
  };
2372
2387
 
2373
- getterMap$1.set(originalGet, get);
2388
+ getterMap.set(originalGet, get);
2374
2389
  return get;
2375
2390
  }
2376
2391
  }, {
2377
2392
  key: "wrapSetter",
2378
2393
  value: function wrapSetter(originalSet) {
2379
- var wrappedSetter = setterMap$1.get(originalSet);
2394
+ var wrappedSetter = setterMap.get(originalSet);
2380
2395
 
2381
2396
  if (!isUndefined(wrappedSetter)) {
2382
2397
  return wrappedSetter;
@@ -2385,38 +2400,47 @@
2385
2400
  var handler = this;
2386
2401
 
2387
2402
  var set = function set(v) {
2403
+ /* istanbul ignore else */
2388
2404
  if (process.env.NODE_ENV !== 'production') {
2389
2405
  var originalTarget = handler.originalTarget;
2390
2406
  throw new Error("Invalid mutation: Cannot invoke a setter on \"".concat(originalTarget, "\". \"").concat(originalTarget, "\" is read-only."));
2391
2407
  }
2392
2408
  };
2393
2409
 
2394
- setterMap$1.set(originalSet, set);
2410
+ setterMap.set(originalSet, set);
2395
2411
  return set;
2396
2412
  }
2397
2413
  }, {
2398
2414
  key: "set",
2399
2415
  value: function set(shadowTarget, key, value) {
2416
+ /* istanbul ignore else */
2400
2417
  if (process.env.NODE_ENV !== 'production') {
2401
2418
  var originalTarget = this.originalTarget;
2402
- throw new Error("Invalid mutation: Cannot set \"".concat(key.toString(), "\" on \"").concat(originalTarget, "\". \"").concat(originalTarget, "\" is read-only."));
2419
+ var msg = isArray(originalTarget) ? "Invalid mutation: Cannot mutate array at index ".concat(key.toString(), ". Array is read-only.") : "Invalid mutation: Cannot set \"".concat(key.toString(), "\" on \"").concat(originalTarget, "\". \"").concat(originalTarget, "\" is read-only.");
2420
+ throw new Error(msg);
2403
2421
  }
2422
+ /* istanbul ignore next */
2423
+
2404
2424
 
2405
2425
  return false;
2406
2426
  }
2407
2427
  }, {
2408
2428
  key: "deleteProperty",
2409
2429
  value: function deleteProperty(shadowTarget, key) {
2430
+ /* istanbul ignore else */
2410
2431
  if (process.env.NODE_ENV !== 'production') {
2411
2432
  var originalTarget = this.originalTarget;
2412
2433
  throw new Error("Invalid mutation: Cannot delete \"".concat(key.toString(), "\" on \"").concat(originalTarget, "\". \"").concat(originalTarget, "\" is read-only."));
2413
2434
  }
2435
+ /* istanbul ignore next */
2436
+
2414
2437
 
2415
2438
  return false;
2416
2439
  }
2417
2440
  }, {
2418
2441
  key: "setPrototypeOf",
2419
2442
  value: function setPrototypeOf(shadowTarget, prototype) {
2443
+ /* istanbul ignore else */
2420
2444
  if (process.env.NODE_ENV !== 'production') {
2421
2445
  var originalTarget = this.originalTarget;
2422
2446
  throw new Error("Invalid prototype mutation: Cannot set prototype on \"".concat(originalTarget, "\". \"").concat(originalTarget, "\" prototype is read-only."));
@@ -2425,20 +2449,26 @@
2425
2449
  }, {
2426
2450
  key: "preventExtensions",
2427
2451
  value: function preventExtensions(shadowTarget) {
2452
+ /* istanbul ignore else */
2428
2453
  if (process.env.NODE_ENV !== 'production') {
2429
2454
  var originalTarget = this.originalTarget;
2430
2455
  throw new Error("Invalid mutation: Cannot preventExtensions on ".concat(originalTarget, "\". \"").concat(originalTarget, " is read-only."));
2431
2456
  }
2457
+ /* istanbul ignore next */
2458
+
2432
2459
 
2433
2460
  return false;
2434
2461
  }
2435
2462
  }, {
2436
2463
  key: "defineProperty",
2437
2464
  value: function defineProperty(shadowTarget, key, descriptor) {
2465
+ /* istanbul ignore else */
2438
2466
  if (process.env.NODE_ENV !== 'production') {
2439
2467
  var originalTarget = this.originalTarget;
2440
2468
  throw new Error("Invalid mutation: Cannot defineProperty \"".concat(key.toString(), "\" on \"").concat(originalTarget, "\". \"").concat(originalTarget, "\" is read-only."));
2441
2469
  }
2470
+ /* istanbul ignore next */
2471
+
2442
2472
 
2443
2473
  return false;
2444
2474
  }
@@ -2498,6 +2528,8 @@
2498
2528
  }; // Inspired from paulmillr/es6-shim
2499
2529
  // https://github.com/paulmillr/es6-shim/blob/master/es6-shim.js#L176-L185
2500
2530
 
2531
+ /* istanbul ignore next */
2532
+
2501
2533
  function getGlobal() {
2502
2534
  // the only reliable means to get the global object is `Function('return this')()`
2503
2535
  // However, this causes CSP violations in Chrome apps.
@@ -2522,6 +2554,7 @@
2522
2554
  }
2523
2555
 
2524
2556
  function init() {
2557
+ /* istanbul ignore if */
2525
2558
  if (process.env.NODE_ENV === 'production') {
2526
2559
  // this method should never leak to prod
2527
2560
  throw new ReferenceError();
@@ -2536,13 +2569,13 @@
2536
2569
  ArrayPush.call(devtoolsFormatters, formatter);
2537
2570
  global.devtoolsFormatters = devtoolsFormatters;
2538
2571
  }
2572
+ /* istanbul ignore else */
2573
+
2539
2574
 
2540
2575
  if (process.env.NODE_ENV !== 'production') {
2541
2576
  init();
2542
2577
  }
2543
2578
 
2544
- var ObjectDotPrototype = Object.prototype;
2545
-
2546
2579
  function defaultValueIsObservable(value) {
2547
2580
  // intentionally checking for null
2548
2581
  if (value === null) {
@@ -2571,64 +2604,54 @@
2571
2604
  /* do nothing */
2572
2605
  };
2573
2606
 
2574
- var defaultValueDistortion = function defaultValueDistortion(value) {
2575
- return value;
2576
- };
2577
-
2578
2607
  function createShadowTarget(value) {
2579
2608
  return isArray(value) ? [] : {};
2580
2609
  }
2581
2610
 
2582
- var ReactiveMembrane = /*#__PURE__*/function () {
2583
- function ReactiveMembrane(options) {
2584
- _classCallCheck(this, ReactiveMembrane);
2611
+ var ObservableMembrane = /*#__PURE__*/function () {
2612
+ function ObservableMembrane() {
2613
+ var options = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {};
2585
2614
 
2586
- this.valueDistortion = defaultValueDistortion;
2587
- this.valueMutated = defaultValueMutated;
2588
- this.valueObserved = defaultValueObserved;
2589
- this.valueIsObservable = defaultValueIsObservable;
2590
- this.objectGraph = new WeakMap();
2615
+ _classCallCheck(this, ObservableMembrane);
2591
2616
 
2592
- if (!isUndefined(options)) {
2593
- var _valueDistortion = options.valueDistortion,
2594
- _valueMutated = options.valueMutated,
2595
- _valueObserved = options.valueObserved,
2596
- valueIsObservable = options.valueIsObservable,
2597
- tagPropertyKey = options.tagPropertyKey;
2598
- this.valueDistortion = isFunction(_valueDistortion) ? _valueDistortion : defaultValueDistortion;
2599
- this.valueMutated = isFunction(_valueMutated) ? _valueMutated : defaultValueMutated;
2600
- this.valueObserved = isFunction(_valueObserved) ? _valueObserved : defaultValueObserved;
2601
- this.valueIsObservable = isFunction(valueIsObservable) ? valueIsObservable : defaultValueIsObservable;
2602
- this.tagPropertyKey = tagPropertyKey;
2603
- }
2617
+ this.readOnlyObjectGraph = new WeakMap();
2618
+ this.reactiveObjectGraph = new WeakMap();
2619
+ var valueMutated = options.valueMutated,
2620
+ valueObserved = options.valueObserved,
2621
+ valueIsObservable = options.valueIsObservable,
2622
+ tagPropertyKey = options.tagPropertyKey;
2623
+ this.valueMutated = isFunction(valueMutated) ? valueMutated : defaultValueMutated;
2624
+ this.valueObserved = isFunction(valueObserved) ? valueObserved : defaultValueObserved;
2625
+ this.valueIsObservable = isFunction(valueIsObservable) ? valueIsObservable : defaultValueIsObservable;
2626
+ this.tagPropertyKey = tagPropertyKey;
2604
2627
  }
2605
2628
 
2606
- _createClass(ReactiveMembrane, [{
2629
+ _createClass(ObservableMembrane, [{
2607
2630
  key: "getProxy",
2608
2631
  value: function getProxy(value) {
2609
2632
  var unwrappedValue = unwrap$1(value);
2610
- var distorted = this.valueDistortion(unwrappedValue);
2611
2633
 
2612
- if (this.valueIsObservable(distorted)) {
2613
- var o = this.getReactiveState(unwrappedValue, distorted); // when trying to extract the writable version of a readonly
2614
- // we return the readonly.
2634
+ if (this.valueIsObservable(unwrappedValue)) {
2635
+ // When trying to extract the writable version of a readonly we return the readonly.
2636
+ if (this.readOnlyObjectGraph.get(unwrappedValue) === value) {
2637
+ return value;
2638
+ }
2615
2639
 
2616
- return o.readOnly === value ? value : o.reactive;
2640
+ return this.getReactiveHandler(unwrappedValue);
2617
2641
  }
2618
2642
 
2619
- return distorted;
2643
+ return unwrappedValue;
2620
2644
  }
2621
2645
  }, {
2622
2646
  key: "getReadOnlyProxy",
2623
2647
  value: function getReadOnlyProxy(value) {
2624
2648
  value = unwrap$1(value);
2625
- var distorted = this.valueDistortion(value);
2626
2649
 
2627
- if (this.valueIsObservable(distorted)) {
2628
- return this.getReactiveState(value, distorted).readOnly;
2650
+ if (this.valueIsObservable(value)) {
2651
+ return this.getReadOnlyHandler(value);
2629
2652
  }
2630
2653
 
2631
- return distorted;
2654
+ return value;
2632
2655
  }
2633
2656
  }, {
2634
2657
  key: "unwrapProxy",
@@ -2636,48 +2659,40 @@
2636
2659
  return unwrap$1(p);
2637
2660
  }
2638
2661
  }, {
2639
- key: "getReactiveState",
2640
- value: function getReactiveState(value, distortedValue) {
2641
- var objectGraph = this.objectGraph;
2642
- var reactiveState = objectGraph.get(distortedValue);
2643
-
2644
- if (reactiveState) {
2645
- return reactiveState;
2662
+ key: "getReactiveHandler",
2663
+ value: function getReactiveHandler(value) {
2664
+ var proxy = this.reactiveObjectGraph.get(value);
2665
+
2666
+ if (isUndefined(proxy)) {
2667
+ // caching the proxy after the first time it is accessed
2668
+ var handler = new ReactiveProxyHandler(this, value);
2669
+ proxy = new Proxy(createShadowTarget(value), handler);
2670
+ registerProxy(proxy, value);
2671
+ this.reactiveObjectGraph.set(value, proxy);
2646
2672
  }
2647
2673
 
2648
- var membrane = this;
2649
- reactiveState = {
2650
- get reactive() {
2651
- var reactiveHandler = new ReactiveProxyHandler(membrane, distortedValue); // caching the reactive proxy after the first time it is accessed
2652
-
2653
- var proxy = new Proxy(createShadowTarget(distortedValue), reactiveHandler);
2654
- registerProxy(proxy, value);
2655
- ObjectDefineProperty(this, 'reactive', {
2656
- value: proxy
2657
- });
2658
- return proxy;
2659
- },
2660
-
2661
- get readOnly() {
2662
- var readOnlyHandler = new ReadOnlyHandler(membrane, distortedValue); // caching the readOnly proxy after the first time it is accessed
2663
-
2664
- var proxy = new Proxy(createShadowTarget(distortedValue), readOnlyHandler);
2665
- registerProxy(proxy, value);
2666
- ObjectDefineProperty(this, 'readOnly', {
2667
- value: proxy
2668
- });
2669
- return proxy;
2670
- }
2674
+ return proxy;
2675
+ }
2676
+ }, {
2677
+ key: "getReadOnlyHandler",
2678
+ value: function getReadOnlyHandler(value) {
2679
+ var proxy = this.readOnlyObjectGraph.get(value);
2680
+
2681
+ if (isUndefined(proxy)) {
2682
+ // caching the proxy after the first time it is accessed
2683
+ var handler = new ReadOnlyHandler(this, value);
2684
+ proxy = new Proxy(createShadowTarget(value), handler);
2685
+ registerProxy(proxy, value);
2686
+ this.readOnlyObjectGraph.set(value, proxy);
2687
+ }
2671
2688
 
2672
- };
2673
- objectGraph.set(distortedValue, reactiveState);
2674
- return reactiveState;
2689
+ return proxy;
2675
2690
  }
2676
2691
  }]);
2677
2692
 
2678
- return ReactiveMembrane;
2693
+ return ObservableMembrane;
2679
2694
  }();
2680
- /** version: 1.0.0 */
2695
+ /** version: 2.0.0 */
2681
2696
 
2682
2697
  /*
2683
2698
  * Copyright (c) 2018, salesforce.com, inc.
@@ -2688,15 +2703,9 @@
2688
2703
 
2689
2704
 
2690
2705
  var lockerLivePropertyKey = Symbol.for('@@lockerLiveValue');
2691
-
2692
- function valueDistortion(value) {
2693
- return value;
2694
- }
2695
-
2696
- var reactiveMembrane = new ReactiveMembrane({
2706
+ var reactiveMembrane = new ObservableMembrane({
2697
2707
  valueObserved: valueObserved,
2698
2708
  valueMutated: valueMutated,
2699
- valueDistortion: valueDistortion,
2700
2709
  tagPropertyKey: lockerLivePropertyKey
2701
2710
  });
2702
2711
  /**
@@ -2705,16 +2714,9 @@
2705
2714
  * change or being removed.
2706
2715
  */
2707
2716
 
2708
- var unwrap = function unwrap(value) {
2709
- var unwrapped = reactiveMembrane.unwrapProxy(value);
2710
-
2711
- if (unwrapped !== value) {
2712
- // if value is a proxy, unwrap to access original value and apply distortion
2713
- return valueDistortion(unwrapped);
2714
- }
2715
-
2716
- return value;
2717
- };
2717
+ function unwrap(value) {
2718
+ return reactiveMembrane.unwrapProxy(value);
2719
+ }
2718
2720
  /*
2719
2721
  * Copyright (c) 2018, salesforce.com, inc.
2720
2722
  * All rights reserved.
@@ -3813,7 +3815,7 @@
3813
3815
  return _super4.apply(this, arguments);
3814
3816
  }
3815
3817
 
3816
- return HTMLBridgeElement;
3818
+ return _createClass(HTMLBridgeElement);
3817
3819
  }(SuperClass);
3818
3820
  } else {
3819
3821
  HTMLBridgeElement = function HTMLBridgeElement() {
@@ -4618,12 +4620,14 @@
4618
4620
  }
4619
4621
 
4620
4622
  function updateChildrenHook(oldVnode, vnode) {
4621
- var children = vnode.children,
4622
- owner = vnode.owner;
4623
- var fn = hasDynamicChildren(children) ? updateDynamicChildren : updateStaticChildren;
4624
- runWithBoundaryProtection(owner, owner.owner, noop, function () {
4625
- fn(vnode.elm, oldVnode.children, children);
4626
- }, noop);
4623
+ var elm = vnode.elm,
4624
+ children = vnode.children;
4625
+
4626
+ if (hasDynamicChildren(children)) {
4627
+ updateDynamicChildren(elm, oldVnode.children, children);
4628
+ } else {
4629
+ updateStaticChildren(elm, oldVnode.children, children);
4630
+ }
4627
4631
  }
4628
4632
 
4629
4633
  function allocateChildrenHook(vnode, vm) {
@@ -4967,7 +4971,7 @@
4967
4971
  return _this4;
4968
4972
  }
4969
4973
 
4970
- return LWCUpgradableElement;
4974
+ return _createClass(LWCUpgradableElement);
4971
4975
  }(renderer.HTMLElement);
4972
4976
 
4973
4977
  renderer.defineCustomElement(tagName, CE);
@@ -5814,6 +5818,7 @@
5814
5818
 
5815
5819
  function evaluateStylesheetsContent(stylesheets, stylesheetToken, vm) {
5816
5820
  var content = [];
5821
+ var root;
5817
5822
 
5818
5823
  for (var _i16 = 0; _i16 < stylesheets.length; _i16++) {
5819
5824
  var stylesheet = stylesheets[_i16];
@@ -5826,23 +5831,46 @@
5826
5831
  // the component instance might be attempting to use an old version of
5827
5832
  // the stylesheet, while internally, we have a replacement for it.
5828
5833
  stylesheet = getStyleOrSwappedStyle(stylesheet);
5829
- } // Use the actual `:host` selector if we're rendering global CSS for light DOM, or if we're rendering
5830
- // native shadow DOM. Synthetic shadow DOM never uses `:host`.
5834
+ }
5831
5835
 
5836
+ var isScopedCss = stylesheet[KEY__SCOPED_CSS]; // Apply the scope token only if the stylesheet itself is scoped, or if we're rendering synthetic shadow.
5837
+
5838
+ var scopeToken = isScopedCss || vm.shadowMode === 1
5839
+ /* Synthetic */
5840
+ && vm.renderMode === 1
5841
+ /* Shadow */
5842
+ ? stylesheetToken : undefined; // Use the actual `:host` selector if we're rendering global CSS for light DOM, or if we're rendering
5843
+ // native shadow DOM. Synthetic shadow DOM never uses `:host`.
5832
5844
 
5833
- var isScopedCss = stylesheet[KEY__SCOPED_CSS];
5834
5845
  var useActualHostSelector = vm.renderMode === 0
5835
5846
  /* Light */
5836
5847
  ? !isScopedCss : vm.shadowMode === 0
5837
5848
  /* Native */
5838
- ; // Apply the scope token only if the stylesheet itself is scoped, or if we're rendering synthetic shadow.
5849
+ ; // Use the native :dir() pseudoclass only in native shadow DOM. Otherwise, in synthetic shadow,
5850
+ // we use an attribute selector on the host to simulate :dir().
5839
5851
 
5840
- var scopeToken = isScopedCss || vm.shadowMode === 1
5841
- /* Synthetic */
5842
- && vm.renderMode === 1
5852
+ var useNativeDirPseudoclass = void 0;
5853
+
5854
+ if (vm.renderMode === 1
5843
5855
  /* Shadow */
5844
- ? stylesheetToken : undefined;
5845
- ArrayPush$1.call(content, stylesheet(useActualHostSelector, scopeToken));
5856
+ ) {
5857
+ useNativeDirPseudoclass = vm.shadowMode === 0
5858
+ /* Native */
5859
+ ;
5860
+ } else {
5861
+ // Light DOM components should only render `[dir]` if they're inside of a synthetic shadow root.
5862
+ // At the top level (root is null) or inside of a native shadow root, they should use `:dir()`.
5863
+ if (isUndefined$1(root)) {
5864
+ // Only calculate the root once as necessary
5865
+ root = getNearestShadowComponent(vm);
5866
+ }
5867
+
5868
+ useNativeDirPseudoclass = isNull(root) || root.shadowMode === 0
5869
+ /* Native */
5870
+ ;
5871
+ }
5872
+
5873
+ ArrayPush$1.call(content, stylesheet(scopeToken, useActualHostSelector, useNativeDirPseudoclass));
5846
5874
  }
5847
5875
  }
5848
5876
 
@@ -5864,14 +5892,12 @@
5864
5892
  // https://github.com/salesforce/lwc/pull/2460#discussion_r691208892
5865
5893
 
5866
5894
 
5867
- function getNearestNativeShadowComponent(vm) {
5895
+ function getNearestShadowComponent(vm) {
5868
5896
  var owner = vm;
5869
5897
 
5870
5898
  while (!isNull(owner)) {
5871
5899
  if (owner.renderMode === 1
5872
5900
  /* Shadow */
5873
- && owner.shadowMode === 0
5874
- /* Native */
5875
5901
  ) {
5876
5902
  return owner;
5877
5903
  }
@@ -5882,6 +5908,20 @@
5882
5908
  return owner;
5883
5909
  }
5884
5910
 
5911
+ function getNearestNativeShadowComponent(vm) {
5912
+ var owner = getNearestShadowComponent(vm);
5913
+
5914
+ if (!isNull(owner) && owner.shadowMode === 1
5915
+ /* Synthetic */
5916
+ ) {
5917
+ // Synthetic-within-native is impossible. So if the nearest shadow component is
5918
+ // synthetic, we know we won't find a native component if we go any further.
5919
+ return null;
5920
+ }
5921
+
5922
+ return owner;
5923
+ }
5924
+
5885
5925
  function createStylesheet(vm, stylesheets) {
5886
5926
  var renderer = vm.renderer,
5887
5927
  renderMode = vm.renderMode,
@@ -5993,7 +6033,7 @@
5993
6033
  if (isProfilerEnabled) {
5994
6034
  currentDispatcher(opId, 0
5995
6035
  /* Start */
5996
- , vm.tagName, vm.idx);
6036
+ , vm.tagName, vm.idx, vm.renderMode, vm.shadowMode);
5997
6037
  }
5998
6038
  }
5999
6039
 
@@ -6007,7 +6047,7 @@
6007
6047
  if (isProfilerEnabled) {
6008
6048
  currentDispatcher(opId, 1
6009
6049
  /* Stop */
6010
- , vm.tagName, vm.idx);
6050
+ , vm.tagName, vm.idx, vm.renderMode, vm.shadowMode);
6011
6051
  }
6012
6052
  }
6013
6053
 
@@ -6021,7 +6061,7 @@
6021
6061
  if (isProfilerEnabled) {
6022
6062
  currentDispatcher(opId, 0
6023
6063
  /* Start */
6024
- , vm === null || vm === void 0 ? void 0 : vm.tagName, vm === null || vm === void 0 ? void 0 : vm.idx);
6064
+ , 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);
6025
6065
  }
6026
6066
  }
6027
6067
 
@@ -6035,7 +6075,7 @@
6035
6075
  if (isProfilerEnabled) {
6036
6076
  currentDispatcher(opId, 1
6037
6077
  /* Stop */
6038
- , vm === null || vm === void 0 ? void 0 : vm.tagName, vm === null || vm === void 0 ? void 0 : vm.idx);
6078
+ , 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);
6039
6079
  }
6040
6080
  }
6041
6081
  /*
@@ -7207,7 +7247,7 @@
7207
7247
  return _this5;
7208
7248
  }
7209
7249
 
7210
- return WireContextRegistrationEvent;
7250
+ return _createClass(WireContextRegistrationEvent);
7211
7251
  }( /*#__PURE__*/_wrapNativeSuper(CustomEvent));
7212
7252
 
7213
7253
  function createFieldDataCallback(vm, name) {
@@ -7551,7 +7591,7 @@
7551
7591
  hooksAreSet = true;
7552
7592
  setSanitizeHtmlContentHook(hooks.sanitizeHtmlContent);
7553
7593
  }
7554
- /* version: 2.5.10-alpha1 */
7594
+ /* version: 2.7.0 */
7555
7595
 
7556
7596
  /*
7557
7597
  * Copyright (c) 2018, salesforce.com, inc.
@@ -7608,7 +7648,7 @@
7608
7648
  return _super7.apply(this, arguments);
7609
7649
  }
7610
7650
 
7611
- return clazz;
7651
+ return _createClass(clazz);
7612
7652
  }(HTMLElementAlias);
7613
7653
 
7614
7654
  customElements.define('lwc-test-' + Math.floor(Math.random() * 1000000), clazz);
@@ -8204,7 +8244,7 @@
8204
8244
  });
8205
8245
  freeze(LightningElement);
8206
8246
  seal(LightningElement.prototype);
8207
- /* version: 2.5.10-alpha1 */
8247
+ /* version: 2.7.0 */
8208
8248
 
8209
8249
  exports.LightningElement = LightningElement;
8210
8250
  exports.__unstable__ProfilerControl = profilerControl;
@@ -8235,4 +8275,4 @@
8235
8275
 
8236
8276
  Object.defineProperty(exports, '__esModule', { value: true });
8237
8277
 
8238
- })));
8278
+ }));