lwc 2.5.1 → 2.5.4

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 (41) hide show
  1. package/dist/engine-dom/esm/es2017/engine-dom.js +84 -73
  2. package/dist/engine-dom/iife/es2017/engine-dom.js +85 -74
  3. package/dist/engine-dom/iife/es2017/engine-dom.min.js +2 -2
  4. package/dist/engine-dom/iife/es2017/engine-dom_debug.js +68 -55
  5. package/dist/engine-dom/iife/es5/engine-dom.js +125 -93
  6. package/dist/engine-dom/iife/es5/engine-dom.min.js +2 -2
  7. package/dist/engine-dom/iife/es5/engine-dom_debug.js +106 -72
  8. package/dist/engine-dom/umd/es2017/engine-dom.js +86 -75
  9. package/dist/engine-dom/umd/es2017/engine-dom.min.js +2 -2
  10. package/dist/engine-dom/umd/es2017/engine-dom_debug.js +69 -56
  11. package/dist/engine-dom/umd/es5/engine-dom.js +126 -94
  12. package/dist/engine-dom/umd/es5/engine-dom.min.js +2 -2
  13. package/dist/engine-dom/umd/es5/engine-dom_debug.js +107 -73
  14. package/dist/engine-server/commonjs/es2017/engine-server.js +66 -73
  15. package/dist/engine-server/commonjs/es2017/engine-server.min.js +2 -2
  16. package/dist/engine-server/esm/es2017/engine-server.js +66 -73
  17. package/dist/synthetic-shadow/esm/es2017/synthetic-shadow.js +75 -39
  18. package/dist/synthetic-shadow/iife/es2017/synthetic-shadow.js +76 -40
  19. package/dist/synthetic-shadow/iife/es2017/synthetic-shadow.min.js +2 -2
  20. package/dist/synthetic-shadow/iife/es2017/synthetic-shadow_debug.js +75 -39
  21. package/dist/synthetic-shadow/iife/es5/synthetic-shadow.js +76 -40
  22. package/dist/synthetic-shadow/iife/es5/synthetic-shadow.min.js +2 -2
  23. package/dist/synthetic-shadow/iife/es5/synthetic-shadow_debug.js +75 -39
  24. package/dist/synthetic-shadow/umd/es2017/synthetic-shadow.js +77 -41
  25. package/dist/synthetic-shadow/umd/es2017/synthetic-shadow.min.js +2 -2
  26. package/dist/synthetic-shadow/umd/es2017/synthetic-shadow_debug.js +76 -40
  27. package/dist/synthetic-shadow/umd/es5/synthetic-shadow.js +77 -41
  28. package/dist/synthetic-shadow/umd/es5/synthetic-shadow.min.js +2 -2
  29. package/dist/synthetic-shadow/umd/es5/synthetic-shadow_debug.js +76 -40
  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 +3 -3
  34. package/dist/wire-service/iife/es5/wire-service.min.js +1 -1
  35. package/dist/wire-service/iife/es5/wire-service_debug.js +3 -3
  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 +4 -4
  39. package/dist/wire-service/umd/es5/wire-service.min.js +1 -1
  40. package/dist/wire-service/umd/es5/wire-service_debug.js +4 -4
  41. package/package.json +8 -8
@@ -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.1 */
344
+ /** version: 2.5.4 */
345
345
 
346
346
  /*
347
347
  * Copyright (c) 2018, salesforce.com, inc.
@@ -449,6 +449,7 @@ var LWC = (function (exports) {
449
449
  ENABLE_HMR: null,
450
450
  ENABLE_INNER_OUTER_TEXT_PATCH: null,
451
451
  ENABLE_ELEMENT_PATCH: null,
452
+ ENABLE_FORCE_NATIVE_SHADOW_MODE_FOR_TEST: null,
452
453
  ENABLE_NODE_LIST_PATCH: null,
453
454
  ENABLE_HTML_COLLECTIONS_PATCH: null,
454
455
  ENABLE_NODE_PATCH: null,
@@ -512,7 +513,7 @@ var LWC = (function (exports) {
512
513
 
513
514
  function setFeatureFlagForTest(name, value) {
514
515
  }
515
- /** version: 2.5.1 */
516
+ /** version: 2.5.4 */
516
517
 
517
518
  /* proxy-compat-disable */
518
519
 
@@ -2337,34 +2338,6 @@ var LWC = (function (exports) {
2337
2338
 
2338
2339
  return getBoundingClientRect(elm);
2339
2340
  },
2340
- querySelector: function querySelector(selectors) {
2341
- var vm = getAssociatedVM(this);
2342
- var elm = vm.elm,
2343
- querySelector = vm.renderer.querySelector;
2344
-
2345
- return querySelector(elm, selectors);
2346
- },
2347
- querySelectorAll: function querySelectorAll(selectors) {
2348
- var vm = getAssociatedVM(this);
2349
- var elm = vm.elm,
2350
- querySelectorAll = vm.renderer.querySelectorAll;
2351
-
2352
- return querySelectorAll(elm, selectors);
2353
- },
2354
- getElementsByTagName: function getElementsByTagName(tagNameOrWildCard) {
2355
- var vm = getAssociatedVM(this);
2356
- var elm = vm.elm,
2357
- getElementsByTagName = vm.renderer.getElementsByTagName;
2358
-
2359
- return getElementsByTagName(elm, tagNameOrWildCard);
2360
- },
2361
- getElementsByClassName: function getElementsByClassName(names) {
2362
- var vm = getAssociatedVM(this);
2363
- var elm = vm.elm,
2364
- getElementsByClassName = vm.renderer.getElementsByClassName;
2365
-
2366
- return getElementsByClassName(elm, names);
2367
- },
2368
2341
 
2369
2342
  get isConnected() {
2370
2343
  var _getAssociatedVM8 = getAssociatedVM(this),
@@ -2403,6 +2376,49 @@ var LWC = (function (exports) {
2403
2376
  return "[object ".concat(vm.def.name, "]");
2404
2377
  }
2405
2378
  };
2379
+ var queryAndChildGetterDescriptors = create(null);
2380
+ var childGetters = [['children', 'getChildren'], ['childNodes', 'getChildNodes'], ['firstChild', 'getFirstChild'], ['firstElementChild', 'getFirstElementChild'], ['lastChild', 'getLastChild'], ['lastElementChild', 'getLastElementChild']]; // Generic passthrough for child getters on HTMLElement to the relevant Renderer APIs
2381
+
2382
+ var _loop = function _loop() {
2383
+ var _childGetters$_i = _slicedToArray(_childGetters[_i9], 2),
2384
+ elementProp = _childGetters$_i[0],
2385
+ rendererMethod = _childGetters$_i[1];
2386
+
2387
+ queryAndChildGetterDescriptors[elementProp] = {
2388
+ get: function get() {
2389
+ var vm = getAssociatedVM(this);
2390
+ var elm = vm.elm,
2391
+ renderer = vm.renderer;
2392
+
2393
+ return renderer[rendererMethod](elm);
2394
+ }
2395
+ };
2396
+ };
2397
+
2398
+ for (var _i9 = 0, _childGetters = childGetters; _i9 < _childGetters.length; _i9++) {
2399
+ _loop();
2400
+ }
2401
+
2402
+ var queryMethods = ['getElementsByClassName', 'getElementsByTagName', 'querySelector', 'querySelectorAll']; // Generic passthrough for query APIs on HTMLElement to the relevant Renderer APIs
2403
+
2404
+ var _loop2 = function _loop2() {
2405
+ var queryMethod = _queryMethods[_i10];
2406
+ queryAndChildGetterDescriptors[queryMethod] = {
2407
+ value: function value(arg) {
2408
+ var vm = getAssociatedVM(this);
2409
+ var elm = vm.elm,
2410
+ renderer = vm.renderer;
2411
+
2412
+ return renderer[queryMethod](elm, arg);
2413
+ }
2414
+ };
2415
+ };
2416
+
2417
+ for (var _i10 = 0, _queryMethods = queryMethods; _i10 < _queryMethods.length; _i10++) {
2418
+ _loop2();
2419
+ }
2420
+
2421
+ defineProperties(LightningElement.prototype, queryAndChildGetterDescriptors);
2406
2422
  var lightningBasedDescriptors = create(null);
2407
2423
 
2408
2424
  for (var _propName in HTMLElementOriginalDescriptors) {
@@ -2759,8 +2775,8 @@ var LWC = (function (exports) {
2759
2775
  }
2760
2776
 
2761
2777
  if (!isUndefined$1(fields)) {
2762
- for (var _i9 = 0, n = fields.length; _i9 < n; _i9++) {
2763
- var _fieldName2 = fields[_i9];
2778
+ for (var _i11 = 0, n = fields.length; _i11 < n; _i11++) {
2779
+ var _fieldName2 = fields[_i11];
2764
2780
  descriptor = getOwnPropertyDescriptor$1(proto, _fieldName2);
2765
2781
  // tracked property. This is only here for backward compatibility purposes.
2766
2782
 
@@ -2978,8 +2994,8 @@ var LWC = (function (exports) {
2978
2994
  superObservedAttributes = _SuperClass$observedA === void 0 ? [] : _SuperClass$observedA;
2979
2995
  var descriptors = create(null); // expose getters and setters for each public props on the new Element Bridge
2980
2996
 
2981
- for (var _i10 = 0, _len3 = props.length; _i10 < _len3; _i10 += 1) {
2982
- var _propName2 = props[_i10];
2997
+ for (var _i12 = 0, _len3 = props.length; _i12 < _len3; _i12 += 1) {
2998
+ var _propName2 = props[_i12];
2983
2999
  attributeToPropMap[htmlPropertyToAttribute(_propName2)] = _propName2;
2984
3000
  descriptors[_propName2] = {
2985
3001
  get: createGetter(_propName2),
@@ -2990,8 +3006,8 @@ var LWC = (function (exports) {
2990
3006
  } // expose public methods as props on the new Element Bridge
2991
3007
 
2992
3008
 
2993
- for (var _i11 = 0, _len4 = methods.length; _i11 < _len4; _i11 += 1) {
2994
- var methodName = methods[_i11];
3009
+ for (var _i13 = 0, _len4 = methods.length; _i13 < _len4; _i13 += 1) {
3010
+ var methodName = methods[_i13];
2995
3011
  descriptors[methodName] = {
2996
3012
  value: createMethodCaller(methodName),
2997
3013
  writable: true,
@@ -4162,8 +4178,8 @@ var LWC = (function (exports) {
4162
4178
  function evaluateStylesheetsContent(stylesheets, stylesheetToken, vm) {
4163
4179
  var content = [];
4164
4180
 
4165
- for (var _i12 = 0; _i12 < stylesheets.length; _i12++) {
4166
- var stylesheet = stylesheets[_i12];
4181
+ for (var _i14 = 0; _i14 < stylesheets.length; _i14++) {
4182
+ var stylesheet = stylesheets[_i14];
4167
4183
 
4168
4184
  if (isArray$1(stylesheet)) {
4169
4185
  ArrayPush$1.apply(content, evaluateStylesheetsContent(stylesheet, stylesheetToken, vm));
@@ -4233,8 +4249,8 @@ var LWC = (function (exports) {
4233
4249
  && shadowMode === 1
4234
4250
  /* Synthetic */
4235
4251
  ) {
4236
- for (var _i13 = 0; _i13 < stylesheets.length; _i13++) {
4237
- renderer.insertGlobalStylesheet(stylesheets[_i13]);
4252
+ for (var _i15 = 0; _i15 < stylesheets.length; _i15++) {
4253
+ renderer.insertGlobalStylesheet(stylesheets[_i15]);
4238
4254
  }
4239
4255
  } else if (renderer.ssr) {
4240
4256
  // native shadow or light DOM, SSR
@@ -4245,12 +4261,12 @@ var LWC = (function (exports) {
4245
4261
  var root = getNearestNativeShadowComponent(vm);
4246
4262
  var isGlobal = isNull(root);
4247
4263
 
4248
- for (var _i14 = 0; _i14 < stylesheets.length; _i14++) {
4264
+ for (var _i16 = 0; _i16 < stylesheets.length; _i16++) {
4249
4265
  if (isGlobal) {
4250
- renderer.insertGlobalStylesheet(stylesheets[_i14]);
4266
+ renderer.insertGlobalStylesheet(stylesheets[_i16]);
4251
4267
  } else {
4252
4268
  // local level
4253
- renderer.insertStylesheet(stylesheets[_i14], root.cmpRoot);
4269
+ renderer.insertStylesheet(stylesheets[_i16], root.cmpRoot);
4254
4270
  }
4255
4271
  }
4256
4272
  }
@@ -4349,9 +4365,9 @@ var LWC = (function (exports) {
4349
4365
  if (vm.renderMode === 0
4350
4366
  /* Light */
4351
4367
  ) {
4352
- assert.isTrue(template.renderMode === 'light', "Light DOM components can't render shadow DOM templates. Add an 'lwc:render-mode=\"light\"' directive on the root template tag.");
4368
+ assert.isTrue(template.renderMode === 'light', "Light DOM components can't render shadow DOM templates. Add an 'lwc:render-mode=\"light\"' directive to the root template tag of ".concat(getComponentTag(vm), "."));
4353
4369
  } else {
4354
- assert.isTrue(isUndefined$1(template.renderMode), "Shadow DOM components template can't render light DOM templates. Either remove the 'lwc:render-mode' directive or set it to 'lwc:render-mode=\"shadow\"");
4370
+ assert.isTrue(isUndefined$1(template.renderMode), "Shadow DOM components template can't render light DOM templates. Either remove the 'lwc:render-mode' directive from ".concat(getComponentTag(vm), " or set it to 'lwc:render-mode=\"shadow\""));
4355
4371
  }
4356
4372
  }
4357
4373
 
@@ -4435,8 +4451,8 @@ var LWC = (function (exports) {
4435
4451
  var stylesheets = template.stylesheets;
4436
4452
 
4437
4453
  if (!isUndefined$1(stylesheets)) {
4438
- for (var _i15 = 0; _i15 < stylesheets.length; _i15++) {
4439
- if (isTrue(stylesheets[_i15][KEY__SCOPED_CSS])) {
4454
+ for (var _i17 = 0; _i17 < stylesheets.length; _i17++) {
4455
+ if (isTrue(stylesheets[_i17][KEY__SCOPED_CSS])) {
4440
4456
  return true;
4441
4457
  }
4442
4458
  }
@@ -4637,8 +4653,8 @@ var LWC = (function (exports) {
4637
4653
 
4638
4654
  function register(service) {
4639
4655
 
4640
- for (var _i16 = 0; _i16 < hooks.length; ++_i16) {
4641
- var hookName = hooks[_i16];
4656
+ for (var _i18 = 0; _i18 < hooks.length; ++_i18) {
4657
+ var hookName = hooks[_i18];
4642
4658
 
4643
4659
  if (hookName in service) {
4644
4660
  var l = Services[hookName];
@@ -4658,8 +4674,8 @@ var LWC = (function (exports) {
4658
4674
  def = vm.def,
4659
4675
  context = vm.context;
4660
4676
 
4661
- for (var _i17 = 0, _len6 = cbs.length; _i17 < _len6; ++_i17) {
4662
- cbs[_i17].call(undefined, component, {}, def, context);
4677
+ for (var _i19 = 0, _len6 = cbs.length; _i19 < _len6; ++_i19) {
4678
+ cbs[_i19].call(undefined, component, {}, def, context);
4663
4679
  }
4664
4680
  }
4665
4681
  /*
@@ -4979,19 +4995,19 @@ var LWC = (function (exports) {
4979
4995
  });
4980
4996
  rehydrateQueue = []; // reset to a new queue
4981
4997
 
4982
- for (var _i18 = 0, _len7 = vms.length; _i18 < _len7; _i18 += 1) {
4983
- var vm = vms[_i18];
4998
+ for (var _i20 = 0, _len7 = vms.length; _i20 < _len7; _i20 += 1) {
4999
+ var vm = vms[_i20];
4984
5000
 
4985
5001
  try {
4986
5002
  rehydrate(vm);
4987
5003
  } catch (error) {
4988
- if (_i18 + 1 < _len7) {
5004
+ if (_i20 + 1 < _len7) {
4989
5005
  // pieces of the queue are still pending to be rehydrated, those should have priority
4990
5006
  if (rehydrateQueue.length === 0) {
4991
5007
  addCallbackToNextTick(flushRehydrationQueue);
4992
5008
  }
4993
5009
 
4994
- ArrayUnshift.apply(rehydrateQueue, ArraySlice.call(vms, _i18 + 1));
5010
+ ArrayUnshift.apply(rehydrateQueue, ArraySlice.call(vms, _i20 + 1));
4995
5011
  } // we need to end the measure before throwing.
4996
5012
 
4997
5013
 
@@ -5090,8 +5106,8 @@ var LWC = (function (exports) {
5090
5106
  var vCustomElementCollection = vm.velements; // Reporting disconnection for every child in inverse order since they are
5091
5107
  // inserted in reserved order.
5092
5108
 
5093
- for (var _i19 = vCustomElementCollection.length - 1; _i19 >= 0; _i19 -= 1) {
5094
- var elm = vCustomElementCollection[_i19].elm; // There are two cases where the element could be undefined:
5109
+ for (var _i21 = vCustomElementCollection.length - 1; _i21 >= 0; _i21 -= 1) {
5110
+ var elm = vCustomElementCollection[_i21].elm; // There are two cases where the element could be undefined:
5095
5111
  // * when there is an error during the construction phase, and an error
5096
5112
  // boundary picks it, there is a possibility that the VCustomElement
5097
5113
  // is not properly initialized, and therefore is should be ignored.
@@ -5125,8 +5141,8 @@ var LWC = (function (exports) {
5125
5141
 
5126
5142
 
5127
5143
  function recursivelyDisconnectChildren(vnodes) {
5128
- for (var _i20 = 0, _len8 = vnodes.length; _i20 < _len8; _i20 += 1) {
5129
- var vnode = vnodes[_i20];
5144
+ for (var _i22 = 0, _len8 = vnodes.length; _i22 < _len8; _i22 += 1) {
5145
+ var vnode = vnodes[_i22];
5130
5146
 
5131
5147
  if (!isNull(vnode) && isArray$1(vnode.children) && !isUndefined$1(vnode.elm)) {
5132
5148
  // vnode is a VElement with children
@@ -5150,8 +5166,8 @@ var LWC = (function (exports) {
5150
5166
  renderer = vm.renderer;
5151
5167
  var rootNode = getRenderRoot(vm);
5152
5168
 
5153
- for (var _i21 = 0, _len9 = children.length; _i21 < _len9; _i21++) {
5154
- var child = children[_i21];
5169
+ for (var _i23 = 0, _len9 = children.length; _i23 < _len9; _i23++) {
5170
+ var child = children[_i23];
5155
5171
 
5156
5172
  if (!isNull(child) && !isUndefined$1(child.elm)) {
5157
5173
  renderer.remove(child.elm, rootNode);
@@ -5196,8 +5212,8 @@ var LWC = (function (exports) {
5196
5212
  var oldSlots = vm.cmpSlots;
5197
5213
  var cmpSlots = vm.cmpSlots = create(null);
5198
5214
 
5199
- for (var _i22 = 0, _len10 = children.length; _i22 < _len10; _i22 += 1) {
5200
- var vnode = children[_i22];
5215
+ for (var _i24 = 0, _len10 = children.length; _i24 < _len10; _i24 += 1) {
5216
+ var vnode = children[_i24];
5201
5217
 
5202
5218
  if (isNull(vnode)) {
5203
5219
  continue;
@@ -5227,8 +5243,8 @@ var LWC = (function (exports) {
5227
5243
  return;
5228
5244
  }
5229
5245
 
5230
- for (var _i23 = 0, _len11 = oldKeys.length; _i23 < _len11; _i23 += 1) {
5231
- var key = oldKeys[_i23];
5246
+ for (var _i25 = 0, _len11 = oldKeys.length; _i25 < _len11; _i25 += 1) {
5247
+ var key = oldKeys[_i25];
5232
5248
 
5233
5249
  if (isUndefined$1(cmpSlots[key]) || oldSlots[key].length !== cmpSlots[key].length) {
5234
5250
  markComponentAsDirty(vm);
@@ -5567,8 +5583,8 @@ var LWC = (function (exports) {
5567
5583
  function connectWireAdapters(vm) {
5568
5584
  var wiredConnecting = vm.context.wiredConnecting;
5569
5585
 
5570
- for (var _i24 = 0, _len12 = wiredConnecting.length; _i24 < _len12; _i24 += 1) {
5571
- wiredConnecting[_i24]();
5586
+ for (var _i26 = 0, _len12 = wiredConnecting.length; _i26 < _len12; _i26 += 1) {
5587
+ wiredConnecting[_i26]();
5572
5588
  }
5573
5589
  }
5574
5590
 
@@ -5576,8 +5592,8 @@ var LWC = (function (exports) {
5576
5592
  var wiredDisconnecting = vm.context.wiredDisconnecting;
5577
5593
  runWithBoundaryProtection(vm, vm, noop, function () {
5578
5594
  // job
5579
- for (var _i25 = 0, _len13 = wiredDisconnecting.length; _i25 < _len13; _i25 += 1) {
5580
- wiredDisconnecting[_i25]();
5595
+ for (var _i27 = 0, _len13 = wiredDisconnecting.length; _i27 < _len13; _i27 += 1) {
5596
+ wiredDisconnecting[_i27]();
5581
5597
  }
5582
5598
  }, noop);
5583
5599
  }
@@ -5646,7 +5662,7 @@ var LWC = (function (exports) {
5646
5662
 
5647
5663
  return reactiveMembrane.getReadOnlyProxy(obj);
5648
5664
  }
5649
- /* version: 2.5.1 */
5665
+ /* version: 2.5.4 */
5650
5666
 
5651
5667
  /*
5652
5668
  * Copyright (c) 2018, salesforce.com, inc.
@@ -5868,6 +5884,24 @@ var LWC = (function (exports) {
5868
5884
  getElementsByClassName: function getElementsByClassName(element, names) {
5869
5885
  return element.getElementsByClassName(names);
5870
5886
  },
5887
+ getChildren: function getChildren(element) {
5888
+ return element.children;
5889
+ },
5890
+ getChildNodes: function getChildNodes(element) {
5891
+ return element.childNodes;
5892
+ },
5893
+ getFirstChild: function getFirstChild(element) {
5894
+ return element.firstChild;
5895
+ },
5896
+ getFirstElementChild: function getFirstElementChild(element) {
5897
+ return element.firstElementChild;
5898
+ },
5899
+ getLastChild: function getLastChild(element) {
5900
+ return element.lastChild;
5901
+ },
5902
+ getLastElementChild: function getLastElementChild(element) {
5903
+ return element.lastElementChild;
5904
+ },
5871
5905
  isConnected: function isConnected(node) {
5872
5906
  return node.isConnected;
5873
5907
  },
@@ -6176,7 +6210,7 @@ var LWC = (function (exports) {
6176
6210
  });
6177
6211
  freeze(LightningElement);
6178
6212
  seal(LightningElement.prototype);
6179
- /* version: 2.5.1 */
6213
+ /* version: 2.5.4 */
6180
6214
 
6181
6215
  exports.LightningElement = LightningElement;
6182
6216
  exports.__unstable__ProfilerControl = profilerControl;
@@ -6207,4 +6241,4 @@ var LWC = (function (exports) {
6207
6241
 
6208
6242
  return exports;
6209
6243
 
6210
- }({}));
6244
+ })({});
@@ -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
  /* proxy-compat-disable */
8
8
 
@@ -305,7 +305,7 @@
305
305
  CACHED_PROPERTY_ATTRIBUTE_MAPPING.set(propName, attributeName);
306
306
  return attributeName;
307
307
  }
308
- /** version: 2.5.1 */
308
+ /** version: 2.5.4 */
309
309
 
310
310
  /*
311
311
  * Copyright (c) 2018, salesforce.com, inc.
@@ -415,6 +415,7 @@
415
415
  ENABLE_HMR: null,
416
416
  ENABLE_INNER_OUTER_TEXT_PATCH: null,
417
417
  ENABLE_ELEMENT_PATCH: null,
418
+ ENABLE_FORCE_NATIVE_SHADOW_MODE_FOR_TEST: null,
418
419
  ENABLE_NODE_LIST_PATCH: null,
419
420
  ENABLE_HTML_COLLECTIONS_PATCH: null,
420
421
  ENABLE_NODE_PATCH: null,
@@ -484,7 +485,7 @@
484
485
  setFeatureFlag(name, value);
485
486
  }
486
487
  }
487
- /** version: 2.5.1 */
488
+ /** version: 2.5.4 */
488
489
 
489
490
  /* proxy-compat-disable */
490
491
 
@@ -2856,9 +2857,9 @@
2856
2857
  }
2857
2858
  }
2858
2859
 
2859
- function warnIfInvokedDuringConstruction(vm, methodName) {
2860
+ function warnIfInvokedDuringConstruction(vm, methodOrPropName) {
2860
2861
  if (isBeingConstructed(vm)) {
2861
- logError(`this.${methodName}() should not be called during the construction of the custom element for ${getComponentTag(vm)} because the element is not yet in the DOM or has no children yet.`);
2862
+ logError(`this.${methodOrPropName} should not be called during the construction of the custom element for ${getComponentTag(vm)} because the element is not yet in the DOM or has no children yet.`);
2862
2863
  }
2863
2864
  } // @ts-ignore
2864
2865
 
@@ -3018,76 +3019,12 @@
3018
3019
  } = vm;
3019
3020
 
3020
3021
  if (process.env.NODE_ENV !== 'production') {
3021
- warnIfInvokedDuringConstruction(vm, 'getBoundingClientRect');
3022
+ warnIfInvokedDuringConstruction(vm, 'getBoundingClientRect()');
3022
3023
  }
3023
3024
 
3024
3025
  return getBoundingClientRect(elm);
3025
3026
  },
3026
3027
 
3027
- querySelector(selectors) {
3028
- const vm = getAssociatedVM(this);
3029
- const {
3030
- elm,
3031
- renderer: {
3032
- querySelector
3033
- }
3034
- } = vm;
3035
-
3036
- if (process.env.NODE_ENV !== 'production') {
3037
- warnIfInvokedDuringConstruction(vm, 'querySelector');
3038
- }
3039
-
3040
- return querySelector(elm, selectors);
3041
- },
3042
-
3043
- querySelectorAll(selectors) {
3044
- const vm = getAssociatedVM(this);
3045
- const {
3046
- elm,
3047
- renderer: {
3048
- querySelectorAll
3049
- }
3050
- } = vm;
3051
-
3052
- if (process.env.NODE_ENV !== 'production') {
3053
- warnIfInvokedDuringConstruction(vm, 'querySelectorAll');
3054
- }
3055
-
3056
- return querySelectorAll(elm, selectors);
3057
- },
3058
-
3059
- getElementsByTagName(tagNameOrWildCard) {
3060
- const vm = getAssociatedVM(this);
3061
- const {
3062
- elm,
3063
- renderer: {
3064
- getElementsByTagName
3065
- }
3066
- } = vm;
3067
-
3068
- if (process.env.NODE_ENV !== 'production') {
3069
- warnIfInvokedDuringConstruction(vm, 'getElementsByTagName');
3070
- }
3071
-
3072
- return getElementsByTagName(elm, tagNameOrWildCard);
3073
- },
3074
-
3075
- getElementsByClassName(names) {
3076
- const vm = getAssociatedVM(this);
3077
- const {
3078
- elm,
3079
- renderer: {
3080
- getElementsByClassName
3081
- }
3082
- } = vm;
3083
-
3084
- if (process.env.NODE_ENV !== 'production') {
3085
- warnIfInvokedDuringConstruction(vm, 'getElementsByClassName');
3086
- }
3087
-
3088
- return getElementsByClassName(elm, names);
3089
- },
3090
-
3091
3028
  get isConnected() {
3092
3029
  const {
3093
3030
  elm,
@@ -3147,6 +3084,50 @@
3147
3084
  }
3148
3085
 
3149
3086
  };
3087
+ const queryAndChildGetterDescriptors = create(null);
3088
+ const childGetters = [['children', 'getChildren'], ['childNodes', 'getChildNodes'], ['firstChild', 'getFirstChild'], ['firstElementChild', 'getFirstElementChild'], ['lastChild', 'getLastChild'], ['lastElementChild', 'getLastElementChild']]; // Generic passthrough for child getters on HTMLElement to the relevant Renderer APIs
3089
+
3090
+ for (const [elementProp, rendererMethod] of childGetters) {
3091
+ queryAndChildGetterDescriptors[elementProp] = {
3092
+ get() {
3093
+ const vm = getAssociatedVM(this);
3094
+ const {
3095
+ elm,
3096
+ renderer
3097
+ } = vm;
3098
+
3099
+ if (process.env.NODE_ENV !== 'production') {
3100
+ warnIfInvokedDuringConstruction(vm, elementProp);
3101
+ }
3102
+
3103
+ return renderer[rendererMethod](elm);
3104
+ }
3105
+
3106
+ };
3107
+ }
3108
+
3109
+ const queryMethods = ['getElementsByClassName', 'getElementsByTagName', 'querySelector', 'querySelectorAll']; // Generic passthrough for query APIs on HTMLElement to the relevant Renderer APIs
3110
+
3111
+ for (const queryMethod of queryMethods) {
3112
+ queryAndChildGetterDescriptors[queryMethod] = {
3113
+ value(arg) {
3114
+ const vm = getAssociatedVM(this);
3115
+ const {
3116
+ elm,
3117
+ renderer
3118
+ } = vm;
3119
+
3120
+ if (process.env.NODE_ENV !== 'production') {
3121
+ warnIfInvokedDuringConstruction(vm, `${queryMethod}()`);
3122
+ }
3123
+
3124
+ return renderer[queryMethod](elm, arg);
3125
+ }
3126
+
3127
+ };
3128
+ }
3129
+
3130
+ defineProperties(LightningElement.prototype, queryAndChildGetterDescriptors);
3150
3131
  const lightningBasedDescriptors = create(null);
3151
3132
 
3152
3133
  for (const propName in HTMLElementOriginalDescriptors) {
@@ -5891,9 +5872,9 @@
5891
5872
  if (vm.renderMode === 0
5892
5873
  /* Light */
5893
5874
  ) {
5894
- assert.isTrue(template.renderMode === 'light', `Light DOM components can't render shadow DOM templates. Add an 'lwc:render-mode="light"' directive on the root template tag.`);
5875
+ assert.isTrue(template.renderMode === 'light', `Light DOM components can't render shadow DOM templates. Add an 'lwc:render-mode="light"' directive to the root template tag of ${getComponentTag(vm)}.`);
5895
5876
  } else {
5896
- assert.isTrue(isUndefined$1(template.renderMode), `Shadow DOM components template can't render light DOM templates. Either remove the 'lwc:render-mode' directive or set it to 'lwc:render-mode="shadow"`);
5877
+ assert.isTrue(isUndefined$1(template.renderMode), `Shadow DOM components template can't render light DOM templates. Either remove the 'lwc:render-mode' directive from ${getComponentTag(vm)} or set it to 'lwc:render-mode="shadow"`);
5897
5878
  }
5898
5879
  }
5899
5880
 
@@ -6443,6 +6424,12 @@
6443
6424
  vm.toString = () => {
6444
6425
  return `[object:vm ${def.name} (${vm.idx})]`;
6445
6426
  };
6427
+
6428
+ if (runtimeFlags.ENABLE_FORCE_NATIVE_SHADOW_MODE_FOR_TEST) {
6429
+ vm.shadowMode = 0
6430
+ /* Native */
6431
+ ;
6432
+ }
6446
6433
  } // Create component instance associated to the vm and the element.
6447
6434
 
6448
6435
 
@@ -7372,7 +7359,7 @@
7372
7359
 
7373
7360
  return reactiveMembrane.getReadOnlyProxy(obj);
7374
7361
  }
7375
- /* version: 2.5.1 */
7362
+ /* version: 2.5.4 */
7376
7363
 
7377
7364
  /*
7378
7365
  * Copyright (c) 2018, salesforce.com, inc.
@@ -7623,6 +7610,30 @@
7623
7610
  return element.getElementsByClassName(names);
7624
7611
  },
7625
7612
 
7613
+ getChildren(element) {
7614
+ return element.children;
7615
+ },
7616
+
7617
+ getChildNodes(element) {
7618
+ return element.childNodes;
7619
+ },
7620
+
7621
+ getFirstChild(element) {
7622
+ return element.firstChild;
7623
+ },
7624
+
7625
+ getFirstElementChild(element) {
7626
+ return element.firstElementChild;
7627
+ },
7628
+
7629
+ getLastChild(element) {
7630
+ return element.lastChild;
7631
+ },
7632
+
7633
+ getLastElementChild(element) {
7634
+ return element.lastElementChild;
7635
+ },
7636
+
7626
7637
  isConnected(node) {
7627
7638
  return node.isConnected;
7628
7639
  },
@@ -7930,7 +7941,7 @@
7930
7941
  });
7931
7942
  freeze(LightningElement);
7932
7943
  seal(LightningElement.prototype);
7933
- /* version: 2.5.1 */
7944
+ /* version: 2.5.4 */
7934
7945
 
7935
7946
  exports.LightningElement = LightningElement;
7936
7947
  exports.__unstable__ProfilerControl = profilerControl;
@@ -7959,4 +7970,4 @@
7959
7970
 
7960
7971
  Object.defineProperty(exports, '__esModule', { value: true });
7961
7972
 
7962
- })));
7973
+ }));