lwc 2.27.0 → 2.28.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 (37) hide show
  1. package/dist/engine-dom/esm/es2017/engine-dom.js +135 -49
  2. package/dist/engine-dom/iife/es2017/engine-dom.js +135 -49
  3. package/dist/engine-dom/iife/es2017/engine-dom.min.js +1 -1
  4. package/dist/engine-dom/iife/es2017/engine-dom_debug.js +114 -43
  5. package/dist/engine-dom/iife/es5/engine-dom.js +176 -63
  6. package/dist/engine-dom/iife/es5/engine-dom.min.js +1 -1
  7. package/dist/engine-dom/iife/es5/engine-dom_debug.js +152 -57
  8. package/dist/engine-dom/umd/es2017/engine-dom.js +135 -49
  9. package/dist/engine-dom/umd/es2017/engine-dom.min.js +1 -1
  10. package/dist/engine-dom/umd/es2017/engine-dom_debug.js +114 -43
  11. package/dist/engine-dom/umd/es5/engine-dom.js +176 -63
  12. package/dist/engine-dom/umd/es5/engine-dom.min.js +1 -1
  13. package/dist/engine-dom/umd/es5/engine-dom_debug.js +152 -57
  14. package/dist/engine-server/commonjs/es2017/engine-server.js +93 -39
  15. package/dist/engine-server/commonjs/es2017/engine-server.min.js +1 -1
  16. package/dist/engine-server/esm/es2017/engine-server.js +93 -39
  17. package/dist/synthetic-shadow/esm/es2017/synthetic-shadow.js +4 -4
  18. package/dist/synthetic-shadow/iife/es2017/synthetic-shadow.js +4 -4
  19. package/dist/synthetic-shadow/iife/es2017/synthetic-shadow.min.js +2 -2
  20. package/dist/synthetic-shadow/iife/es2017/synthetic-shadow_debug.js +4 -4
  21. package/dist/synthetic-shadow/iife/es5/synthetic-shadow.js +3 -3
  22. package/dist/synthetic-shadow/iife/es5/synthetic-shadow_debug.js +3 -3
  23. package/dist/synthetic-shadow/umd/es2017/synthetic-shadow.js +4 -4
  24. package/dist/synthetic-shadow/umd/es2017/synthetic-shadow.min.js +2 -2
  25. package/dist/synthetic-shadow/umd/es2017/synthetic-shadow_debug.js +4 -4
  26. package/dist/synthetic-shadow/umd/es5/synthetic-shadow.js +3 -3
  27. package/dist/synthetic-shadow/umd/es5/synthetic-shadow_debug.js +3 -3
  28. package/dist/wire-service/esm/es2017/wire-service.js +2 -2
  29. package/dist/wire-service/iife/es2017/wire-service.js +2 -2
  30. package/dist/wire-service/iife/es2017/wire-service_debug.js +2 -2
  31. package/dist/wire-service/iife/es5/wire-service.js +2 -2
  32. package/dist/wire-service/iife/es5/wire-service_debug.js +2 -2
  33. package/dist/wire-service/umd/es2017/wire-service.js +2 -2
  34. package/dist/wire-service/umd/es2017/wire-service_debug.js +2 -2
  35. package/dist/wire-service/umd/es5/wire-service.js +2 -2
  36. package/dist/wire-service/umd/es5/wire-service_debug.js +2 -2
  37. package/package.json +7 -7
@@ -135,6 +135,7 @@
135
135
  ArrayReverse = _Array$prototype.reverse,
136
136
  ArrayShift = _Array$prototype.shift,
137
137
  ArraySlice = _Array$prototype.slice,
138
+ ArraySome = _Array$prototype.some,
138
139
  ArraySort = _Array$prototype.sort,
139
140
  ArraySplice = _Array$prototype.splice,
140
141
  ArrayUnshift = _Array$prototype.unshift,
@@ -370,9 +371,9 @@
370
371
  // Increment whenever the LWC template compiler changes
371
372
 
372
373
 
373
- var LWC_VERSION = "2.27.0";
374
+ var LWC_VERSION = "2.28.1";
374
375
  var LWC_VERSION_COMMENT_REGEX = /\/\*LWC compiler v([\d.]+)\*\/\s*}/;
375
- /** version: 2.27.0 */
376
+ /** version: 2.28.1 */
376
377
 
377
378
  /**
378
379
  * Copyright (C) 2018 salesforce.com, inc.
@@ -466,7 +467,7 @@
466
467
  patch$1(propName);
467
468
  }
468
469
  }
469
- /** version: 2.27.0 */
470
+ /** version: 2.28.1 */
470
471
 
471
472
  /**
472
473
  * Copyright (C) 2018 salesforce.com, inc.
@@ -560,7 +561,7 @@
560
561
  setFeatureFlag(name, value);
561
562
  }
562
563
  }
563
- /** version: 2.27.0 */
564
+ /** version: 2.28.1 */
564
565
 
565
566
  /*
566
567
  * Copyright (c) 2018, salesforce.com, inc.
@@ -4519,6 +4520,12 @@
4519
4520
  ;
4520
4521
  }
4521
4522
 
4523
+ function isVFragment(vnode) {
4524
+ return vnode.type === 5
4525
+ /* VNodeType.Fragment */
4526
+ ;
4527
+ }
4528
+
4522
4529
  function isVScopedSlotFragment(vnode) {
4523
4530
  return vnode.type === 6
4524
4531
  /* VNodeType.ScopedSlotFragment */
@@ -5082,9 +5089,14 @@
5082
5089
  if (lwcRuntimeFlags.ENABLE_NATIVE_CUSTOM_ELEMENT_LIFECYCLE) {
5083
5090
  disconnectRootElement(elm);
5084
5091
  }
5085
- };
5092
+ }; // Should never get a tag with upper case letter at this point; the compiler
5093
+ // should produce only tags with lowercase letters. However, the Java
5094
+ // compiler may generate tagnames with uppercase letters so - for backwards
5095
+ // compatibility, we lower case the tagname here.
5096
+
5086
5097
 
5087
- var elm = createCustomElement(sel, upgradeCallback, connectedCallback, disconnectedCallback);
5098
+ var normalizedTagname = sel.toLowerCase();
5099
+ var elm = createCustomElement(normalizedTagname, upgradeCallback, connectedCallback, disconnectedCallback);
5088
5100
  vnode.elm = elm;
5089
5101
  vnode.vm = vm;
5090
5102
  linkNodeToShadow(elm, owner, renderer);
@@ -5372,6 +5384,19 @@
5372
5384
  var renderMode = vm.renderMode,
5373
5385
  shadowMode = vm.shadowMode;
5374
5386
 
5387
+ if (process.env.NODE_ENV !== 'production') {
5388
+ // If any of the children being allocated is a scoped slot fragment, make sure the receiving
5389
+ // component is a light DOM component. This is mainly to validate light dom parent running
5390
+ // in native shadow mode.
5391
+ if (renderMode !== 0
5392
+ /* RenderMode.Light */
5393
+ && ArraySome.call(children, function (child) {
5394
+ return !isNull(child) && isVScopedSlotFragment(child);
5395
+ })) {
5396
+ logError("Invalid usage of 'lwc:slot-data' on ".concat(getComponentTag(vm), " tag. Scoped slot content can only be passed to a light dom child."));
5397
+ }
5398
+ }
5399
+
5375
5400
  if (shadowMode === 1
5376
5401
  /* ShadowMode.Synthetic */
5377
5402
  || renderMode === 0
@@ -5411,22 +5436,26 @@
5411
5436
 
5412
5437
  return vm;
5413
5438
  }
5439
+ /**
5440
+ * Collects all slots into a SlotSet, traversing through VFragment Nodes
5441
+ */
5414
5442
 
5415
- function allocateInSlot(vm, children, owner) {
5416
- var _a, _b;
5417
5443
 
5418
- var oldSlotsMapping = vm.cmpSlots.slotAssignments;
5419
- var cmpSlotsMapping = create(null);
5420
- vm.cmpSlots = {
5421
- owner: owner,
5422
- slotAssignments: cmpSlotsMapping
5423
- };
5444
+ function collectSlots(vm, children, cmpSlotsMapping) {
5445
+ var _a, _b;
5424
5446
 
5425
5447
  for (var _i15 = 0, len = children.length; _i15 < len; _i15 += 1) {
5426
5448
  var vnode = children[_i15];
5427
5449
 
5428
5450
  if (isNull(vnode)) {
5429
5451
  continue;
5452
+ } // Dive further iff the content is wrapped in a VFragment
5453
+
5454
+
5455
+ if (isVFragment(vnode)) {
5456
+ // Remove the text delimiter nodes to avoid overriding default slot content
5457
+ collectSlots(vm, vnode.children.slice(1, -1), cmpSlotsMapping);
5458
+ continue;
5430
5459
  }
5431
5460
 
5432
5461
  var slotName = '';
@@ -5440,6 +5469,16 @@
5440
5469
  var vnodes = cmpSlotsMapping[slotName] = cmpSlotsMapping[slotName] || [];
5441
5470
  ArrayPush$1.call(vnodes, vnode);
5442
5471
  }
5472
+ }
5473
+
5474
+ function allocateInSlot(vm, children, owner) {
5475
+ var oldSlotsMapping = vm.cmpSlots.slotAssignments;
5476
+ var cmpSlotsMapping = create(null);
5477
+ collectSlots(vm, children, cmpSlotsMapping);
5478
+ vm.cmpSlots = {
5479
+ owner: owner,
5480
+ slotAssignments: cmpSlotsMapping
5481
+ };
5443
5482
 
5444
5483
  if (isFalse(vm.isDirty)) {
5445
5484
  // We need to determine if the old allocation is really different from the new one
@@ -5451,7 +5490,7 @@
5451
5490
  return;
5452
5491
  }
5453
5492
 
5454
- for (var _i16 = 0, _len4 = oldKeys.length; _i16 < _len4; _i16 += 1) {
5493
+ for (var _i16 = 0, len = oldKeys.length; _i16 < len; _i16 += 1) {
5455
5494
  var key = oldKeys[_i16];
5456
5495
 
5457
5496
  if (isUndefined$1(cmpSlotsMapping[key]) || oldSlotsMapping[key].length !== cmpSlotsMapping[key].length) {
@@ -5460,10 +5499,10 @@
5460
5499
  }
5461
5500
 
5462
5501
  var oldVNodes = oldSlotsMapping[key];
5463
- var _vnodes = cmpSlotsMapping[key];
5502
+ var vnodes = cmpSlotsMapping[key];
5464
5503
 
5465
5504
  for (var j = 0, a = cmpSlotsMapping[key].length; j < a; j += 1) {
5466
- if (oldVNodes[j] !== _vnodes[j]) {
5505
+ if (oldVNodes[j] !== vnodes[j]) {
5467
5506
  markComponentAsDirty(vm);
5468
5507
  return;
5469
5508
  }
@@ -5780,27 +5819,45 @@
5780
5819
  }
5781
5820
 
5782
5821
  if (!isUndefined$1(slotset) && !isUndefined$1(slotset.slotAssignments) && !isUndefined$1(slotset.slotAssignments[slotName]) && slotset.slotAssignments[slotName].length !== 0) {
5783
- children = slotset.slotAssignments[slotName].reduce(function (acc, vnode) {
5784
- // If the passed slot content is factory, evaluate it and use the produced vnodes
5785
- if (vnode && isVScopedSlotFragment(vnode)) {
5786
- var vmBeingRenderedInception = getVMBeingRendered();
5787
- var _children = []; // Evaluate in the scope of the slot content's owner
5788
- // if a slotset is provided, there will always be an owner. The only case where owner is
5789
- // undefined is for root components, but root components cannot accept slotted content
5790
-
5791
- setVMBeingRendered(slotset.owner);
5792
-
5793
- try {
5794
- _children = vnode.factory(data.slotData);
5795
- } finally {
5796
- setVMBeingRendered(vmBeingRenderedInception);
5797
- }
5822
+ children = slotset.slotAssignments[slotName].reduce(function (accumulator, vnode) {
5823
+ if (vnode) {
5824
+ var assignedNodeIsScopedSlot = isVScopedSlotFragment(vnode); // The only sniff test for a scoped <slot> element is the presence of `slotData`
5798
5825
 
5799
- return ArrayConcat$1.call(acc, _children);
5800
- } else {
5801
- // If the slot content is a static list of child nodes provided by the parent, nothing to do
5802
- return ArrayConcat$1.call(acc, vnode);
5826
+ var isScopedSlotElement = !isUndefined$1(data.slotData); // Check if slot types of parent and child are matching
5827
+
5828
+ if (assignedNodeIsScopedSlot !== isScopedSlotElement) {
5829
+ if (process.env.NODE_ENV !== 'production') {
5830
+ logError("Mismatched slot types for ".concat(slotName === '' ? '(default)' : slotName, " slot. Both parent and child component must use standard type or scoped type for a given slot."), slotset.owner);
5831
+ } // Ignore slot content from parent
5832
+
5833
+
5834
+ return accumulator;
5835
+ } // If the passed slot content is factory, evaluate it and add the produced vnodes
5836
+
5837
+
5838
+ if (assignedNodeIsScopedSlot) {
5839
+ var vmBeingRenderedInception = getVMBeingRendered();
5840
+ var scopedSlotChildren = []; // Evaluate in the scope of the slot content's owner
5841
+ // if a slotset is provided, there will always be an owner. The only case where owner is
5842
+ // undefined is for root components, but root components cannot accept slotted content
5843
+
5844
+ setVMBeingRendered(slotset.owner);
5845
+
5846
+ try {
5847
+ scopedSlotChildren = vnode.factory(data.slotData);
5848
+ } finally {
5849
+ setVMBeingRendered(vmBeingRenderedInception);
5850
+ }
5851
+
5852
+ return ArrayConcat$1.call(accumulator, scopedSlotChildren);
5853
+ } else {
5854
+ // If the slot content is standard type, the content is static, no additional
5855
+ // processing needed on the vnode
5856
+ return ArrayConcat$1.call(accumulator, vnode);
5857
+ }
5803
5858
  }
5859
+
5860
+ return accumulator;
5804
5861
  }, []);
5805
5862
  }
5806
5863
 
@@ -6384,7 +6441,7 @@
6384
6441
 
6385
6442
  function buildParseFragmentFn(createFragmentFn) {
6386
6443
  return function (strings) {
6387
- for (var _len5 = arguments.length, keys = new Array(_len5 > 1 ? _len5 - 1 : 0), _key3 = 1; _key3 < _len5; _key3++) {
6444
+ for (var _len4 = arguments.length, keys = new Array(_len4 > 1 ? _len4 - 1 : 0), _key3 = 1; _key3 < _len4; _key3++) {
6388
6445
  keys[_key3 - 1] = arguments[_key3];
6389
6446
  }
6390
6447
 
@@ -8228,12 +8285,13 @@
8228
8285
  }
8229
8286
 
8230
8287
  var nodesAreCompatible = true;
8231
- var vnodeClassName;
8288
+ var readableVnodeClassname;
8289
+ var elmClassName = getProperty(elm, 'className');
8232
8290
 
8233
- if (!isUndefined$1(className) && String(className) !== getProperty(elm, 'className')) {
8291
+ if (!isUndefined$1(className) && String(className) !== elmClassName) {
8234
8292
  // className is used when class is bound to an expr.
8235
8293
  nodesAreCompatible = false;
8236
- vnodeClassName = className;
8294
+ readableVnodeClassname = className;
8237
8295
  } else if (!isUndefined$1(classMap)) {
8238
8296
  // classMap is used when class is set to static value.
8239
8297
  var classList = getClassList(elm);
@@ -8247,16 +8305,20 @@
8247
8305
  }
8248
8306
  }
8249
8307
 
8250
- vnodeClassName = computedClassName.trim();
8308
+ readableVnodeClassname = computedClassName.trim();
8251
8309
 
8252
8310
  if (classList.length > keys(classMap).length) {
8253
8311
  nodesAreCompatible = false;
8254
8312
  }
8313
+ } else if (isUndefined$1(className) && elmClassName !== '') {
8314
+ // SSR contains a className but client-side VDOM does not
8315
+ nodesAreCompatible = false;
8316
+ readableVnodeClassname = '';
8255
8317
  }
8256
8318
 
8257
8319
  if (!nodesAreCompatible) {
8258
8320
  if (process.env.NODE_ENV !== 'production') {
8259
- logError("Mismatch hydrating element <".concat(getProperty(elm, 'tagName').toLowerCase(), ">: attribute \"class\" has different values, expected \"").concat(vnodeClassName, "\" but found \"").concat(getProperty(elm, 'className'), "\""), vnode.owner);
8321
+ logError("Mismatch hydrating element <".concat(getProperty(elm, 'tagName').toLowerCase(), ">: attribute \"class\" has different values, expected \"").concat(readableVnodeClassname, "\" but found \"").concat(elmClassName, "\""), vnode.owner);
8260
8322
  }
8261
8323
  }
8262
8324
 
@@ -8539,7 +8601,7 @@
8539
8601
 
8540
8602
  return ctor;
8541
8603
  }
8542
- /* version: 2.27.0 */
8604
+ /* version: 2.28.1 */
8543
8605
 
8544
8606
  /*
8545
8607
  * Copyright (c) 2018, salesforce.com, inc.
@@ -8874,10 +8936,12 @@
8874
8936
  var pendingRegistryForElement = new WeakMap();
8875
8937
  var definitionForConstructor = new WeakMap();
8876
8938
  var registeredUserCtors = new WeakSet();
8939
+ var registeredPivotCtors = new WeakSet();
8877
8940
  var pivotCtorByTag = new Map();
8878
8941
  var globalDefinitionsByTag = new Map();
8879
8942
  var globalDefinitionsByClass = new Map();
8880
8943
  var awaitingUpgrade = new Map();
8944
+ var pendingWhenDefinedCallbacks = new Map();
8881
8945
  var EMPTY_SET = new Set();
8882
8946
 
8883
8947
  function createDefinitionRecord(constructor) {
@@ -9019,6 +9083,7 @@
9019
9083
  }(NativeHTMLElement);
9020
9084
 
9021
9085
  PivotCtor.observedAttributes = _toConsumableArray(registeredDefinition.observedAttributes);
9086
+ registeredPivotCtors.add(PivotCtor);
9022
9087
  return PivotCtor;
9023
9088
  }
9024
9089
 
@@ -9169,6 +9234,43 @@
9169
9234
  }
9170
9235
 
9171
9236
  return createDefinitionRecord(constructor);
9237
+ } // Defer a `whenDefined()` callback until an externally-visible custom element is defined
9238
+
9239
+
9240
+ function createPendingWhenDefinedCallback(tagName) {
9241
+ return new Promise(function (resolve) {
9242
+ var resolvers = pendingWhenDefinedCallbacks.get(tagName);
9243
+
9244
+ if (isUndefined$1(resolvers)) {
9245
+ resolvers = [];
9246
+ pendingWhenDefinedCallbacks.set(tagName, resolvers);
9247
+ }
9248
+
9249
+ resolvers.push(resolve);
9250
+ });
9251
+ } // Call any pending `whenDefined()` callbacks
9252
+
9253
+
9254
+ function flushPendingWhenDefinedCallbacks(tagName, ctor) {
9255
+ var resolvers = pendingWhenDefinedCallbacks.get(tagName);
9256
+
9257
+ if (!isUndefined$1(resolvers)) {
9258
+ var _iterator6 = _createForOfIteratorHelper(resolvers),
9259
+ _step6;
9260
+
9261
+ try {
9262
+ for (_iterator6.s(); !(_step6 = _iterator6.n()).done;) {
9263
+ var resolver = _step6.value;
9264
+ resolver(ctor);
9265
+ }
9266
+ } catch (err) {
9267
+ _iterator6.e(err);
9268
+ } finally {
9269
+ _iterator6.f();
9270
+ }
9271
+ }
9272
+
9273
+ pendingWhenDefinedCallbacks.delete(tagName);
9172
9274
  }
9173
9275
 
9174
9276
  var _window2 = window,
@@ -9223,12 +9325,12 @@
9223
9325
  if (!isUndefined$1(awaiting)) {
9224
9326
  awaitingUpgrade.delete(tagName);
9225
9327
 
9226
- var _iterator6 = _createForOfIteratorHelper(awaiting),
9227
- _step6;
9328
+ var _iterator7 = _createForOfIteratorHelper(awaiting),
9329
+ _step7;
9228
9330
 
9229
9331
  try {
9230
- for (_iterator6.s(); !(_step6 = _iterator6.n()).done;) {
9231
- var element = _step6.value;
9332
+ for (_iterator7.s(); !(_step7 = _iterator7.n()).done;) {
9333
+ var element = _step7.value;
9232
9334
  var registeredDefinition = pendingRegistryForElement.get(element); // At this point, registeredDefinition should never be undefined because awaitingUpgrade
9233
9335
  // is only populated when we haven't run internalUpgrade yet, and we only populate
9234
9336
  // pendingRegistryForElement when internalUpgrade hasn't run yet.
@@ -9240,11 +9342,14 @@
9240
9342
  }
9241
9343
  }
9242
9344
  } catch (err) {
9243
- _iterator6.e(err);
9345
+ _iterator7.e(err);
9244
9346
  } finally {
9245
- _iterator6.f();
9347
+ _iterator7.f();
9246
9348
  }
9247
- }
9349
+ } // If anyone called customElements.whenDefined() and is still waiting for a promise resolution, resolve now
9350
+
9351
+
9352
+ flushPendingWhenDefinedCallbacks(tagName, constructor);
9248
9353
  };
9249
9354
 
9250
9355
  CustomElementRegistry.prototype.get = function get(tagName) {
@@ -9255,10 +9360,13 @@
9255
9360
 
9256
9361
  if (!isUndefined$1(definition)) {
9257
9362
  return definition.UserCtor; // defined by the patched custom elements registry
9258
- } // TODO [#3073]: return undefined rather than the pivot constructor (NativeCtor)
9363
+ }
9259
9364
 
9365
+ if (registeredPivotCtors.has(NativeCtor)) {
9366
+ return undefined; // pivot constructors should not be observable, return undefined
9367
+ }
9260
9368
 
9261
- return NativeCtor; // return the pivot constructor or constructor that existed before patching
9369
+ return NativeCtor; // constructor that existed before patching
9262
9370
  }
9263
9371
  };
9264
9372
 
@@ -9268,15 +9376,20 @@
9268
9376
 
9269
9377
  if (!isUndefined$1(definition)) {
9270
9378
  return definition.UserCtor;
9271
- } // TODO [#3073]: return undefined rather than the pivot constructor (NativeCtor)
9272
- // In this case, the custom element must have been defined before the registry patches
9379
+ } // In this case, the custom element must have been defined before the registry patches
9273
9380
  // were applied. So return the non-pivot constructor
9274
9381
 
9275
9382
 
9276
9383
  if (isUndefined$1(NativeCtor)) {
9277
9384
  // Chromium bug: https://bugs.chromium.org/p/chromium/issues/detail?id=1335247
9278
9385
  // We can patch the correct behavior using customElements.get()
9279
- return nativeGet.call(nativeRegistry, tagName);
9386
+ NativeCtor = nativeGet.call(nativeRegistry, tagName);
9387
+ }
9388
+
9389
+ if (registeredPivotCtors.has(NativeCtor)) {
9390
+ // Pivot constructors should not be observable. Wait to resolve the promise
9391
+ // if a constructor is ever defined in userland
9392
+ return createPendingWhenDefinedCallback(tagName);
9280
9393
  }
9281
9394
 
9282
9395
  return NativeCtor;
@@ -9540,7 +9653,7 @@
9540
9653
  function isNull(obj) {
9541
9654
  return obj === null;
9542
9655
  }
9543
- /** version: 2.27.0 */
9656
+ /** version: 2.28.1 */
9544
9657
 
9545
9658
  /*
9546
9659
  * Copyright (c) 2018, salesforce.com, inc.
@@ -9608,18 +9721,18 @@
9608
9721
  var wrapperTags = topLevelWrappingMap[getTagName(html)];
9609
9722
 
9610
9723
  if (!isUndefined(wrapperTags)) {
9611
- var _iterator7 = _createForOfIteratorHelper(wrapperTags),
9612
- _step7;
9724
+ var _iterator8 = _createForOfIteratorHelper(wrapperTags),
9725
+ _step8;
9613
9726
 
9614
9727
  try {
9615
- for (_iterator7.s(); !(_step7 = _iterator7.n()).done;) {
9616
- var wrapperTag = _step7.value;
9728
+ for (_iterator8.s(); !(_step8 = _iterator8.n()).done;) {
9729
+ var wrapperTag = _step8.value;
9617
9730
  html = "<".concat(wrapperTag, ">").concat(html, "</").concat(wrapperTag, ">");
9618
9731
  }
9619
9732
  } catch (err) {
9620
- _iterator7.e(err);
9733
+ _iterator8.e(err);
9621
9734
  } finally {
9622
- _iterator7.f();
9735
+ _iterator8.f();
9623
9736
  }
9624
9737
  } // For IE11, the document title must not be undefined, but it can be an empty string
9625
9738
  // https://developer.mozilla.org/en-US/docs/Web/API/DOMImplementation/createHTMLDocument#browser_compatibility
@@ -10207,7 +10320,7 @@
10207
10320
  });
10208
10321
  freeze(LightningElement);
10209
10322
  seal(LightningElement.prototype);
10210
- /* version: 2.27.0 */
10323
+ /* version: 2.28.1 */
10211
10324
 
10212
10325
  exports.LightningElement = LightningElement;
10213
10326
  exports.__unstable__ProfilerControl = profilerControl;