lwc 2.30.1 → 2.30.3

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 +207 -75
  2. package/dist/engine-dom/iife/es2017/engine-dom.js +207 -75
  3. package/dist/engine-dom/iife/es2017/engine-dom.min.js +1 -1
  4. package/dist/engine-dom/iife/es2017/engine-dom_debug.js +204 -72
  5. package/dist/engine-dom/iife/es5/engine-dom.js +254 -118
  6. package/dist/engine-dom/iife/es5/engine-dom.min.js +1 -1
  7. package/dist/engine-dom/iife/es5/engine-dom_debug.js +251 -115
  8. package/dist/engine-dom/umd/es2017/engine-dom.js +207 -75
  9. package/dist/engine-dom/umd/es2017/engine-dom.min.js +1 -1
  10. package/dist/engine-dom/umd/es2017/engine-dom_debug.js +204 -72
  11. package/dist/engine-dom/umd/es5/engine-dom.js +254 -118
  12. package/dist/engine-dom/umd/es5/engine-dom.min.js +1 -1
  13. package/dist/engine-dom/umd/es5/engine-dom_debug.js +251 -115
  14. package/dist/engine-server/commonjs/es2017/engine-server.js +128 -48
  15. package/dist/engine-server/commonjs/es2017/engine-server.min.js +1 -1
  16. package/dist/engine-server/esm/es2017/engine-server.js +128 -48
  17. package/dist/synthetic-shadow/esm/es2017/synthetic-shadow.js +7 -4
  18. package/dist/synthetic-shadow/iife/es2017/synthetic-shadow.js +7 -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 +7 -4
  21. package/dist/synthetic-shadow/iife/es5/synthetic-shadow.js +7 -4
  22. package/dist/synthetic-shadow/iife/es5/synthetic-shadow.min.js +2 -2
  23. package/dist/synthetic-shadow/iife/es5/synthetic-shadow_debug.js +7 -4
  24. package/dist/synthetic-shadow/umd/es2017/synthetic-shadow.js +7 -4
  25. package/dist/synthetic-shadow/umd/es2017/synthetic-shadow.min.js +2 -2
  26. package/dist/synthetic-shadow/umd/es2017/synthetic-shadow_debug.js +7 -4
  27. package/dist/synthetic-shadow/umd/es5/synthetic-shadow.js +7 -4
  28. package/dist/synthetic-shadow/umd/es5/synthetic-shadow.min.js +2 -2
  29. package/dist/synthetic-shadow/umd/es5/synthetic-shadow_debug.js +7 -4
  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 +7 -7
@@ -89,7 +89,6 @@
89
89
  setPrototypeOf = Object.setPrototypeOf;
90
90
  var isArray$1 = Array.isArray;
91
91
  var _Array$prototype = Array.prototype,
92
- ArrayConcat$1 = _Array$prototype.concat,
93
92
  ArrayCopyWithin = _Array$prototype.copyWithin,
94
93
  ArrayFill = _Array$prototype.fill,
95
94
  ArrayFilter = _Array$prototype.filter,
@@ -200,6 +199,7 @@
200
199
  AriaPropNameToAttrNameMap: AriaPropNameToAttrNameMap
201
200
  };
202
201
  }(),
202
+ AriaAttrNameToPropNameMap = _ref.AriaAttrNameToPropNameMap,
203
203
  AriaPropNameToAttrNameMap = _ref.AriaPropNameToAttrNameMap;
204
204
 
205
205
  /*
@@ -257,15 +257,43 @@
257
257
  var XML_NAMESPACE = 'http://www.w3.org/XML/1998/namespace';
258
258
  var SVG_NAMESPACE = 'http://www.w3.org/2000/svg';
259
259
  var XLINK_NAMESPACE = 'http://www.w3.org/1999/xlink';
260
- /**
261
- * Map composed of properties to attributes not following the HTML property to attribute mapping
262
- * convention.
260
+
261
+ /*
262
+ * Copyright (c) 2020, salesforce.com, inc.
263
+ * All rights reserved.
264
+ * SPDX-License-Identifier: MIT
265
+ * For full license text, see the LICENSE file in the repo root or https://opensource.org/licenses/MIT
263
266
  */
264
- var NO_STANDARD_PROPERTY_ATTRIBUTE_MAPPING = new Map([['accessKey', 'accesskey'], ['readOnly', 'readonly'], ['tabIndex', 'tabindex'], ['bgColor', 'bgcolor'], ['colSpan', 'colspan'], ['rowSpan', 'rowspan'], ['contentEditable', 'contenteditable'], ['crossOrigin', 'crossorigin'], ['dateTime', 'datetime'], ['formAction', 'formaction'], ['isMap', 'ismap'], ['maxLength', 'maxlength'], ['minLength', 'minlength'], ['noValidate', 'novalidate'], ['useMap', 'usemap'], ['htmlFor', 'for']]);
267
+ var CAMEL_REGEX = /-([a-z])/g;
268
+ // Convoluted map generation so that @lwc/shared remains fully tree-shakable (verify-treeshakable)
269
+ var _ref2 = /*#__PURE__*/function () {
270
+ /**
271
+ * Map composed of properties to attributes not following the HTML property to attribute mapping
272
+ * convention.
273
+ */
274
+ var NO_STANDARD_PROPERTY_ATTRIBUTE_MAPPING = new Map([['accessKey', 'accesskey'], ['readOnly', 'readonly'], ['tabIndex', 'tabindex'], ['bgColor', 'bgcolor'], ['colSpan', 'colspan'], ['rowSpan', 'rowspan'], ['contentEditable', 'contenteditable'], ['crossOrigin', 'crossorigin'], ['dateTime', 'datetime'], ['formAction', 'formaction'], ['isMap', 'ismap'], ['maxLength', 'maxlength'], ['minLength', 'minlength'], ['noValidate', 'novalidate'], ['useMap', 'usemap'], ['htmlFor', 'for']]);
275
+ /**
276
+ * Inverted map with attribute name key and property name value.
277
+ */
278
+ var NO_STANDARD_ATTRIBUTE_PROPERTY_MAPPING = new Map();
279
+ NO_STANDARD_PROPERTY_ATTRIBUTE_MAPPING.forEach(function (value, key) {
280
+ return NO_STANDARD_ATTRIBUTE_PROPERTY_MAPPING.set(value, key);
281
+ });
282
+ return {
283
+ NO_STANDARD_ATTRIBUTE_PROPERTY_MAPPING: NO_STANDARD_ATTRIBUTE_PROPERTY_MAPPING,
284
+ NO_STANDARD_PROPERTY_ATTRIBUTE_MAPPING: NO_STANDARD_PROPERTY_ATTRIBUTE_MAPPING
285
+ };
286
+ }(),
287
+ NO_STANDARD_ATTRIBUTE_PROPERTY_MAPPING = _ref2.NO_STANDARD_ATTRIBUTE_PROPERTY_MAPPING,
288
+ NO_STANDARD_PROPERTY_ATTRIBUTE_MAPPING = _ref2.NO_STANDARD_PROPERTY_ATTRIBUTE_MAPPING;
265
289
  /**
266
290
  * Map associating previously transformed HTML property into HTML attribute.
267
291
  */
268
292
  var CACHED_PROPERTY_ATTRIBUTE_MAPPING = new Map();
293
+ /**
294
+ * Map associating previously transformed HTML attribute into HTML property.
295
+ */
296
+ var CACHED_ATTRIBUTE_PROPERTY_MAPPING = new Map();
269
297
  function htmlPropertyToAttribute(propName) {
270
298
  var ariaAttributeName = AriaPropNameToAttrNameMap[propName];
271
299
  if (!isUndefined$1(ariaAttributeName)) {
@@ -294,6 +322,25 @@
294
322
  CACHED_PROPERTY_ATTRIBUTE_MAPPING.set(propName, attributeName);
295
323
  return attributeName;
296
324
  }
325
+ function htmlAttributeToProperty(attrName) {
326
+ var ariaPropertyName = AriaAttrNameToPropNameMap[attrName];
327
+ if (!isUndefined$1(ariaPropertyName)) {
328
+ return ariaPropertyName;
329
+ }
330
+ var specialPropertyName = NO_STANDARD_ATTRIBUTE_PROPERTY_MAPPING.get(attrName);
331
+ if (!isUndefined$1(specialPropertyName)) {
332
+ return specialPropertyName;
333
+ }
334
+ var cachedPropertyName = CACHED_ATTRIBUTE_PROPERTY_MAPPING.get(attrName);
335
+ if (!isUndefined$1(cachedPropertyName)) {
336
+ return cachedPropertyName;
337
+ }
338
+ var propertyName = StringReplace.call(attrName, CAMEL_REGEX, function (g) {
339
+ return g[1].toUpperCase();
340
+ });
341
+ CACHED_ATTRIBUTE_PROPERTY_MAPPING.set(attrName, propertyName);
342
+ return propertyName;
343
+ }
297
344
 
298
345
  /*
299
346
  * Copyright (c) 2018, salesforce.com, inc.
@@ -302,9 +349,9 @@
302
349
  * For full license text, see the LICENSE file in the repo root or https://opensource.org/licenses/MIT
303
350
  */
304
351
  // Increment whenever the LWC template compiler changes
305
- var LWC_VERSION = "2.30.1";
352
+ var LWC_VERSION = "2.30.3";
306
353
  var LWC_VERSION_COMMENT_REGEX = /\/\*LWC compiler v([\d.]+)\*\/\s*}/;
307
- /** version: 2.30.1 */
354
+ /** version: 2.30.3 */
308
355
 
309
356
  /**
310
357
  * Copyright (C) 2018 salesforce.com, inc.
@@ -385,7 +432,7 @@
385
432
  patch$1(propName);
386
433
  }
387
434
  }
388
- /** version: 2.30.1 */
435
+ /** version: 2.30.3 */
389
436
 
390
437
  /**
391
438
  * Copyright (C) 2018 salesforce.com, inc.
@@ -467,7 +514,7 @@
467
514
  setFeatureFlag(name, value);
468
515
  }
469
516
  }
470
- /** version: 2.30.1 */
517
+ /** version: 2.30.3 */
471
518
 
472
519
  /*
473
520
  * Copyright (c) 2018, salesforce.com, inc.
@@ -3798,7 +3845,7 @@
3798
3845
  * SPDX-License-Identifier: MIT
3799
3846
  * For full license text, see the LICENSE file in the repo root or https://opensource.org/licenses/MIT
3800
3847
  */
3801
- var ColonCharCode = 58;
3848
+ var ColonCharCode$1 = 58;
3802
3849
  function patchAttributes(oldVnode, vnode, renderer) {
3803
3850
  var attrs = vnode.data.attrs;
3804
3851
  if (isUndefined$1(attrs)) {
@@ -3816,10 +3863,10 @@
3816
3863
  var old = oldAttrs[key];
3817
3864
  if (old !== cur) {
3818
3865
  unlockAttribute(elm, key);
3819
- if (StringCharCodeAt.call(key, 3) === ColonCharCode) {
3866
+ if (StringCharCodeAt.call(key, 3) === ColonCharCode$1) {
3820
3867
  // Assume xml namespace
3821
3868
  setAttribute(elm, key, cur, XML_NAMESPACE);
3822
- } else if (StringCharCodeAt.call(key, 5) === ColonCharCode) {
3869
+ } else if (StringCharCodeAt.call(key, 5) === ColonCharCode$1) {
3823
3870
  // Assume xlink namespace
3824
3871
  setAttribute(elm, key, cur, XLINK_NAMESPACE);
3825
3872
  } else if (isNull(cur) || isUndefined$1(cur)) {
@@ -3832,6 +3879,45 @@
3832
3879
  }
3833
3880
  }
3834
3881
 
3882
+ /*
3883
+ * Copyright (c) 2018, salesforce.com, inc.
3884
+ * All rights reserved.
3885
+ * SPDX-License-Identifier: MIT
3886
+ * For full license text, see the LICENSE file in the repo root or https://opensource.org/licenses/MIT
3887
+ */
3888
+ var ColonCharCode = 58;
3889
+ function patchAttrUnlessProp(oldVnode, vnode, renderer) {
3890
+ var attrs = vnode.data.attrs,
3891
+ elm = vnode.elm;
3892
+ if (isUndefined$1(attrs)) {
3893
+ return;
3894
+ }
3895
+ var removeAttribute = renderer.removeAttribute,
3896
+ setAttribute = renderer.setAttribute,
3897
+ setProperty = renderer.setProperty;
3898
+ var oldAttrs = isNull(oldVnode) ? EmptyObject : oldVnode.data.attrs;
3899
+ for (var name in attrs) {
3900
+ var cur = attrs[name];
3901
+ var old = oldAttrs[name];
3902
+ if (old !== cur) {
3903
+ var _propName2 = htmlAttributeToProperty(name);
3904
+ if (_propName2 in elm) {
3905
+ setProperty(elm, name, cur);
3906
+ } else if (StringCharCodeAt.call(name, 3) === ColonCharCode) {
3907
+ // Assume xml namespace
3908
+ setAttribute(elm, name, cur, XML_NAMESPACE);
3909
+ } else if (StringCharCodeAt.call(name, 5) === ColonCharCode) {
3910
+ // Assume xlink namespace
3911
+ setAttribute(elm, name, cur, XLINK_NAMESPACE);
3912
+ } else if (isNull(cur) || isUndefined$1(cur)) {
3913
+ removeAttribute(elm, name);
3914
+ } else {
3915
+ setAttribute(elm, name, cur);
3916
+ }
3917
+ }
3918
+ }
3919
+ }
3920
+
3835
3921
  /*
3836
3922
  * Copyright (c) 2018, salesforce.com, inc.
3837
3923
  * All rights reserved.
@@ -4221,16 +4307,16 @@
4221
4307
  // the custom element from the registry is expecting an upgrade callback
4222
4308
  vm = createViewModelHook(elm, vnode, renderer);
4223
4309
  };
4224
- var connectedCallback = function connectedCallback(elm) {
4225
- if (lwcRuntimeFlags.ENABLE_NATIVE_CUSTOM_ELEMENT_LIFECYCLE) {
4310
+ var connectedCallback;
4311
+ var disconnectedCallback;
4312
+ if (lwcRuntimeFlags.ENABLE_NATIVE_CUSTOM_ELEMENT_LIFECYCLE) {
4313
+ connectedCallback = function connectedCallback(elm) {
4226
4314
  connectRootElement(elm);
4227
- }
4228
- };
4229
- var disconnectedCallback = function disconnectedCallback(elm) {
4230
- if (lwcRuntimeFlags.ENABLE_NATIVE_CUSTOM_ELEMENT_LIFECYCLE) {
4315
+ };
4316
+ disconnectedCallback = function disconnectedCallback(elm) {
4231
4317
  disconnectRootElement(elm);
4232
- }
4233
- };
4318
+ };
4319
+ }
4234
4320
  // Should never get a tag with upper case letter at this point; the compiler
4235
4321
  // should produce only tags with lowercase letters. However, the Java
4236
4322
  // compiler may generate tagnames with uppercase letters so - for backwards
@@ -4402,7 +4488,11 @@
4402
4488
  // value is set before type=radio.
4403
4489
  patchClassAttribute(oldVnode, vnode, renderer);
4404
4490
  patchStyleAttribute(oldVnode, vnode, renderer);
4405
- patchAttributes(oldVnode, vnode, renderer);
4491
+ if (vnode.data.external) {
4492
+ patchAttrUnlessProp(oldVnode, vnode, renderer);
4493
+ } else {
4494
+ patchAttributes(oldVnode, vnode, renderer);
4495
+ }
4406
4496
  patchProps(oldVnode, vnode, renderer);
4407
4497
  }
4408
4498
  function applyStyleScoping(elm, owner, renderer) {
@@ -4815,8 +4905,11 @@
4815
4905
  assert.isTrue(isArray$1(children), "h() 3rd argument children must be an array.");
4816
4906
  }
4817
4907
  if (!isUndefined$1(slotset) && !isUndefined$1(slotset.slotAssignments) && !isUndefined$1(slotset.slotAssignments[slotName]) && slotset.slotAssignments[slotName].length !== 0) {
4818
- children = slotset.slotAssignments[slotName].reduce(function (accumulator, vnode) {
4819
- if (vnode) {
4908
+ var newChildren = [];
4909
+ var slotAssignments = slotset.slotAssignments[slotName];
4910
+ for (var _i19 = 0; _i19 < slotAssignments.length; _i19++) {
4911
+ var vnode = slotAssignments[_i19];
4912
+ if (!isNull(vnode)) {
4820
4913
  var assignedNodeIsScopedSlot = isVScopedSlotFragment(vnode);
4821
4914
  // The only sniff test for a scoped <slot> element is the presence of `slotData`
4822
4915
  var isScopedSlotElement = !isUndefined$1(data.slotData);
@@ -4826,30 +4919,28 @@
4826
4919
  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);
4827
4920
  }
4828
4921
  // Ignore slot content from parent
4829
- return accumulator;
4922
+ continue;
4830
4923
  }
4831
4924
  // If the passed slot content is factory, evaluate it and add the produced vnodes
4832
4925
  if (assignedNodeIsScopedSlot) {
4833
4926
  var vmBeingRenderedInception = getVMBeingRendered();
4834
- var scopedSlotChildren = [];
4835
4927
  // Evaluate in the scope of the slot content's owner
4836
4928
  // if a slotset is provided, there will always be an owner. The only case where owner is
4837
4929
  // undefined is for root components, but root components cannot accept slotted content
4838
4930
  setVMBeingRendered(slotset.owner);
4839
4931
  try {
4840
- scopedSlotChildren = vnode.factory(data.slotData);
4932
+ ArrayPush$1.apply(newChildren, vnode.factory(data.slotData));
4841
4933
  } finally {
4842
4934
  setVMBeingRendered(vmBeingRenderedInception);
4843
4935
  }
4844
- return ArrayConcat$1.call(accumulator, scopedSlotChildren);
4845
4936
  } else {
4846
4937
  // If the slot content is standard type, the content is static, no additional
4847
4938
  // processing needed on the vnode
4848
- return ArrayConcat$1.call(accumulator, vnode);
4939
+ ArrayPush$1.call(newChildren, vnode);
4849
4940
  }
4850
4941
  }
4851
- return accumulator;
4852
- }, []);
4942
+ }
4943
+ children = newChildren;
4853
4944
  }
4854
4945
  var vmBeingRendered = getVMBeingRendered();
4855
4946
  var renderMode = vmBeingRendered.renderMode,
@@ -5342,23 +5433,23 @@
5342
5433
  var classAttrToken = hasScopedStyles && hasStyleToken ? " class=\"".concat(stylesheetToken, "\"") : '';
5343
5434
  var attrToken = hasStyleToken && isSyntheticShadow ? ' ' + stylesheetToken : '';
5344
5435
  var htmlFragment = '';
5345
- for (var _i19 = 0, n = keys.length; _i19 < n; _i19++) {
5346
- switch (keys[_i19]) {
5436
+ for (var _i20 = 0, n = keys.length; _i20 < n; _i20++) {
5437
+ switch (keys[_i20]) {
5347
5438
  case 0:
5348
5439
  // styleToken in existing class attr
5349
- htmlFragment += strings[_i19] + classToken;
5440
+ htmlFragment += strings[_i20] + classToken;
5350
5441
  break;
5351
5442
  case 1:
5352
5443
  // styleToken for added class attr
5353
- htmlFragment += strings[_i19] + classAttrToken;
5444
+ htmlFragment += strings[_i20] + classAttrToken;
5354
5445
  break;
5355
5446
  case 2:
5356
5447
  // styleToken as attr
5357
- htmlFragment += strings[_i19] + attrToken;
5448
+ htmlFragment += strings[_i20] + attrToken;
5358
5449
  break;
5359
5450
  case 3:
5360
5451
  // ${1}${2}
5361
- htmlFragment += strings[_i19] + classAttrToken + attrToken;
5452
+ htmlFragment += strings[_i20] + classAttrToken + attrToken;
5362
5453
  break;
5363
5454
  }
5364
5455
  }
@@ -5466,8 +5557,8 @@
5466
5557
  function computeHasScopedStyles(template) {
5467
5558
  var stylesheets = template.stylesheets;
5468
5559
  if (!isUndefined$1(stylesheets)) {
5469
- for (var _i20 = 0; _i20 < stylesheets.length; _i20++) {
5470
- if (isTrue(stylesheets[_i20][KEY__SCOPED_CSS])) {
5560
+ for (var _i21 = 0; _i21 < stylesheets.length; _i21++) {
5561
+ if (isTrue(stylesheets[_i21][KEY__SCOPED_CSS])) {
5471
5562
  return true;
5472
5563
  }
5473
5564
  }
@@ -5579,8 +5670,8 @@
5579
5670
  */
5580
5671
  function registerComponent(
5581
5672
  // We typically expect a LightningElementConstructor, but technically you can call this with anything
5582
- Ctor, _ref2) {
5583
- var tmpl = _ref2.tmpl;
5673
+ Ctor, _ref3) {
5674
+ var tmpl = _ref3.tmpl;
5584
5675
  if (isFunction$1(Ctor)) {
5585
5676
  if (process.env.NODE_ENV !== 'production') {
5586
5677
  checkVersionMismatch(Ctor, 'component');
@@ -5655,8 +5746,8 @@
5655
5746
  if (process.env.NODE_ENV !== 'production') {
5656
5747
  assert.isTrue(isObject(service), "Invalid service declaration, ".concat(service, ": service must be an object"));
5657
5748
  }
5658
- for (var _i21 = 0; _i21 < hooks.length; ++_i21) {
5659
- var hookName = hooks[_i21];
5749
+ for (var _i22 = 0; _i22 < hooks.length; ++_i22) {
5750
+ var hookName = hooks[_i22];
5660
5751
  if (hookName in service) {
5661
5752
  var l = Services[hookName];
5662
5753
  if (isUndefined$1(l)) {
@@ -5673,8 +5764,8 @@
5673
5764
  var component = vm.component,
5674
5765
  def = vm.def,
5675
5766
  context = vm.context;
5676
- for (var _i22 = 0, len = cbs.length; _i22 < len; ++_i22) {
5677
- cbs[_i22].call(undefined, component, {}, def, context);
5767
+ for (var _i23 = 0, len = cbs.length; _i23 < len; ++_i23) {
5768
+ cbs[_i23].call(undefined, component, {}, def, context);
5678
5769
  }
5679
5770
  }
5680
5771
 
@@ -5953,17 +6044,17 @@
5953
6044
  return a.idx - b.idx;
5954
6045
  });
5955
6046
  rehydrateQueue = []; // reset to a new queue
5956
- for (var _i23 = 0, len = vms.length; _i23 < len; _i23 += 1) {
5957
- var vm = vms[_i23];
6047
+ for (var _i24 = 0, len = vms.length; _i24 < len; _i24 += 1) {
6048
+ var vm = vms[_i24];
5958
6049
  try {
5959
6050
  rehydrate(vm);
5960
6051
  } catch (error) {
5961
- if (_i23 + 1 < len) {
6052
+ if (_i24 + 1 < len) {
5962
6053
  // pieces of the queue are still pending to be rehydrated, those should have priority
5963
6054
  if (rehydrateQueue.length === 0) {
5964
6055
  addCallbackToNextTick(flushRehydrationQueue);
5965
6056
  }
5966
- ArrayUnshift.apply(rehydrateQueue, ArraySlice.call(vms, _i23 + 1));
6057
+ ArrayUnshift.apply(rehydrateQueue, ArraySlice.call(vms, _i24 + 1));
5967
6058
  }
5968
6059
  // we need to end the measure before throwing.
5969
6060
  logGlobalOperationEnd(8 /* OperationId.GlobalRehydrate */);
@@ -6032,8 +6123,8 @@
6032
6123
  var vCustomElementCollection = vm.velements;
6033
6124
  // Reporting disconnection for every child in inverse order since they are
6034
6125
  // inserted in reserved order.
6035
- for (var _i24 = vCustomElementCollection.length - 1; _i24 >= 0; _i24 -= 1) {
6036
- var elm = vCustomElementCollection[_i24].elm;
6126
+ for (var _i25 = vCustomElementCollection.length - 1; _i25 >= 0; _i25 -= 1) {
6127
+ var elm = vCustomElementCollection[_i25].elm;
6037
6128
  // There are two cases where the element could be undefined:
6038
6129
  // * when there is an error during the construction phase, and an error
6039
6130
  // boundary picks it, there is a possibility that the VCustomElement
@@ -6064,8 +6155,8 @@
6064
6155
  * defined on its shadow.
6065
6156
  */
6066
6157
  function recursivelyDisconnectChildren(vnodes) {
6067
- for (var _i25 = 0, len = vnodes.length; _i25 < len; _i25 += 1) {
6068
- var vnode = vnodes[_i25];
6158
+ for (var _i26 = 0, len = vnodes.length; _i26 < len; _i26 += 1) {
6159
+ var vnode = vnodes[_i26];
6069
6160
  if (!isNull(vnode) && !isUndefined$1(vnode.elm)) {
6070
6161
  switch (vnode.type) {
6071
6162
  case 2 /* VNodeType.Element */:
@@ -6089,8 +6180,8 @@
6089
6180
  var children = vm.children,
6090
6181
  renderRoot = vm.renderRoot,
6091
6182
  remove = vm.renderer.remove;
6092
- for (var _i26 = 0, len = children.length; _i26 < len; _i26++) {
6093
- var child = children[_i26];
6183
+ for (var _i27 = 0, len = children.length; _i27 < len; _i27++) {
6184
+ var child = children[_i27];
6094
6185
  if (!isNull(child) && !isUndefined$1(child.elm)) {
6095
6186
  remove(child.elm, renderRoot);
6096
6187
  }
@@ -6175,10 +6266,10 @@
6175
6266
  var WireContextRegistrationEvent = /*#__PURE__*/function (_CustomEvent) {
6176
6267
  _inherits(WireContextRegistrationEvent, _CustomEvent);
6177
6268
  var _super5 = _createSuper(WireContextRegistrationEvent);
6178
- function WireContextRegistrationEvent(adapterToken, _ref3) {
6269
+ function WireContextRegistrationEvent(adapterToken, _ref4) {
6179
6270
  var _this4;
6180
- var setNewContext = _ref3.setNewContext,
6181
- setDisconnectedCallback = _ref3.setDisconnectedCallback;
6271
+ var setNewContext = _ref4.setNewContext,
6272
+ setDisconnectedCallback = _ref4.setDisconnectedCallback;
6182
6273
  _classCallCheck(this, WireContextRegistrationEvent);
6183
6274
  _this4 = _super5.call(this, adapterToken, {
6184
6275
  bubbles: true,
@@ -6428,16 +6519,16 @@
6428
6519
  }
6429
6520
  function connectWireAdapters(vm) {
6430
6521
  var wiredConnecting = vm.context.wiredConnecting;
6431
- for (var _i27 = 0, len = wiredConnecting.length; _i27 < len; _i27 += 1) {
6432
- wiredConnecting[_i27]();
6522
+ for (var _i28 = 0, len = wiredConnecting.length; _i28 < len; _i28 += 1) {
6523
+ wiredConnecting[_i28]();
6433
6524
  }
6434
6525
  }
6435
6526
  function disconnectWireAdapters(vm) {
6436
6527
  var wiredDisconnecting = vm.context.wiredDisconnecting;
6437
6528
  runWithBoundaryProtection(vm, vm, noop, function () {
6438
6529
  // job
6439
- for (var _i28 = 0, len = wiredDisconnecting.length; _i28 < len; _i28 += 1) {
6440
- wiredDisconnecting[_i28]();
6530
+ for (var _i29 = 0, len = wiredDisconnecting.length; _i29 < len; _i29 += 1) {
6531
+ wiredDisconnecting[_i29]();
6441
6532
  }
6442
6533
  }, noop);
6443
6534
  }
@@ -6676,8 +6767,8 @@
6676
6767
  var nextNode = node;
6677
6768
  var anchor = null;
6678
6769
  var renderer = owner.renderer;
6679
- for (var _i29 = 0; _i29 < children.length; _i29++) {
6680
- var childVnode = children[_i29];
6770
+ for (var _i30 = 0; _i30 < children.length; _i30++) {
6771
+ var childVnode = children[_i30];
6681
6772
  if (!isNull(childVnode)) {
6682
6773
  if (nextNode) {
6683
6774
  nextNode = hydrateNode(nextNode, childVnode, renderer);
@@ -6755,8 +6846,8 @@
6755
6846
  var nodesAreCompatible = true;
6756
6847
  // Validate attributes, though we could always recovery from those by running the update mods.
6757
6848
  // Note: intentionally ONLY matching vnodes.attrs to elm.attrs, in case SSR is adding extra attributes.
6758
- for (var _i30 = 0, _Object$entries = Object.entries(attrs); _i30 < _Object$entries.length; _i30++) {
6759
- var _Object$entries$_i = _slicedToArray(_Object$entries[_i30], 2),
6849
+ for (var _i31 = 0, _Object$entries = Object.entries(attrs); _i31 < _Object$entries.length; _i31++) {
6850
+ var _Object$entries$_i = _slicedToArray(_Object$entries[_i31], 2),
6760
6851
  attrName = _Object$entries$_i[0],
6761
6852
  attrValue = _Object$entries$_i[1];
6762
6853
  var owner = vnode.owner;
@@ -6857,8 +6948,8 @@
6857
6948
  var parsedVnodeStyle = parseStyleText(elmStyle);
6858
6949
  var expectedStyle = [];
6859
6950
  // styleMap is used when style is set to static value.
6860
- for (var _i31 = 0, n = styleDecls.length; _i31 < n; _i31++) {
6861
- var _styleDecls$_i2 = _slicedToArray(styleDecls[_i31], 3),
6951
+ for (var _i32 = 0, n = styleDecls.length; _i32 < n; _i32++) {
6952
+ var _styleDecls$_i2 = _slicedToArray(styleDecls[_i32], 3),
6862
6953
  prop = _styleDecls$_i2[0],
6863
6954
  value = _styleDecls$_i2[1],
6864
6955
  important = _styleDecls$_i2[2];
@@ -7065,7 +7156,7 @@
7065
7156
  }
7066
7157
  return ctor;
7067
7158
  }
7068
- /* version: 2.30.1 */
7159
+ /* version: 2.30.3 */
7069
7160
 
7070
7161
  /*
7071
7162
  * Copyright (c) 2018, salesforce.com, inc.
@@ -7345,9 +7436,11 @@
7345
7436
  // Another benefit is that only LWC can create components that actually do anything – if you do
7346
7437
  // `customElements.define('x-foo')`, then you don't have access to the upgradeCallback, so it's a dummy custom element.
7347
7438
  // This class should be created once per tag name.
7348
- var createUpgradableConstructor = function createUpgradableConstructor(_connectedCallback, _disconnectedCallback) {
7439
+ var createUpgradableConstructor = function createUpgradableConstructor(connectedCallback, disconnectedCallback) {
7440
+ var hasConnectedCallback = !isUndefined$1(connectedCallback);
7441
+ var hasDisconnectedCallback = !isUndefined$1(disconnectedCallback);
7349
7442
  // TODO [#2972]: this class should expose observedAttributes as necessary
7350
- return /*#__PURE__*/function (_HTMLElement) {
7443
+ var UpgradableConstructor = /*#__PURE__*/function (_HTMLElement) {
7351
7444
  _inherits(UpgradableConstructor, _HTMLElement);
7352
7445
  var _super7 = _createSuper(UpgradableConstructor);
7353
7446
  function UpgradableConstructor(upgradeCallback) {
@@ -7358,32 +7451,34 @@
7358
7451
  // then elementBeingUpgraded will be false
7359
7452
  if (elementBeingUpgradedByLWC) {
7360
7453
  upgradeCallback(_assertThisInitialized(_this5));
7361
- } else {
7362
- // keep track of elements that were not created by lwc.createElement,
7363
- // so we can ignore their lifecycle hooks
7454
+ } else if (hasConnectedCallback || hasDisconnectedCallback) {
7455
+ // If this element has connected or disconnected callbacks, then we need to keep track of
7456
+ // instances that were created outside LWC (i.e. not created by `lwc.createElement()`).
7457
+ // If the element has no connected or disconnected callbacks, then we don't need to track this.
7364
7458
  elementsUpgradedOutsideLWC.add(_assertThisInitialized(_this5));
7365
7459
  // TODO [#2970]: LWC elements cannot be upgraded via new Ctor()
7366
7460
  // Do we want to support this? Throw an error? Currently for backwards compat it's a no-op.
7367
7461
  }
7368
7462
  return _this5;
7369
7463
  }
7370
- _createClass(UpgradableConstructor, [{
7371
- key: "connectedCallback",
7372
- value: function connectedCallback() {
7373
- if (!elementsUpgradedOutsideLWC.has(this)) {
7374
- _connectedCallback(this);
7375
- }
7464
+ return _createClass(UpgradableConstructor);
7465
+ }( /*#__PURE__*/_wrapNativeSuper(HTMLElement)); // Do not unnecessarily add a connectedCallback/disconnectedCallback, as it introduces perf overhead
7466
+ // See: https://github.com/salesforce/lwc/pull/3162#issuecomment-1311851174
7467
+ if (hasConnectedCallback) {
7468
+ UpgradableConstructor.prototype.connectedCallback = function () {
7469
+ if (!elementsUpgradedOutsideLWC.has(this)) {
7470
+ connectedCallback(this);
7376
7471
  }
7377
- }, {
7378
- key: "disconnectedCallback",
7379
- value: function disconnectedCallback() {
7380
- if (!elementsUpgradedOutsideLWC.has(this)) {
7381
- _disconnectedCallback(this);
7382
- }
7472
+ };
7473
+ }
7474
+ if (hasDisconnectedCallback) {
7475
+ UpgradableConstructor.prototype.disconnectedCallback = function () {
7476
+ if (!elementsUpgradedOutsideLWC.has(this)) {
7477
+ disconnectedCallback(this);
7383
7478
  }
7384
- }]);
7385
- return UpgradableConstructor;
7386
- }( /*#__PURE__*/_wrapNativeSuper(HTMLElement));
7479
+ };
7480
+ }
7481
+ return UpgradableConstructor;
7387
7482
  };
7388
7483
  var createCustomElementVanilla = function createCustomElementVanilla(tagName, upgradeCallback, connectedCallback, disconnectedCallback) {
7389
7484
  // use global custom elements registry
@@ -7443,17 +7538,27 @@
7443
7538
  var _constructor$prototyp = constructor.prototype,
7444
7539
  connectedCallback = _constructor$prototyp.connectedCallback,
7445
7540
  disconnectedCallback = _constructor$prototyp.disconnectedCallback,
7541
+ formAssociatedCallback = _constructor$prototyp.formAssociatedCallback,
7542
+ formDisabledCallback = _constructor$prototyp.formDisabledCallback,
7543
+ formResetCallback = _constructor$prototyp.formResetCallback,
7544
+ formStateRestoreCallback = _constructor$prototyp.formStateRestoreCallback,
7446
7545
  adoptedCallback = _constructor$prototyp.adoptedCallback,
7447
7546
  attributeChangedCallback = _constructor$prototyp.attributeChangedCallback;
7547
+ var formAssociated = Boolean(constructor.formAssociated);
7448
7548
  var observedAttributes = new Set((_a = constructor.observedAttributes) !== null && _a !== void 0 ? _a : []);
7449
7549
  return {
7450
7550
  UserCtor: constructor,
7451
7551
  PivotCtor: undefined,
7452
7552
  connectedCallback: connectedCallback,
7453
7553
  disconnectedCallback: disconnectedCallback,
7554
+ formAssociatedCallback: formAssociatedCallback,
7555
+ formDisabledCallback: formDisabledCallback,
7556
+ formResetCallback: formResetCallback,
7557
+ formStateRestoreCallback: formStateRestoreCallback,
7454
7558
  adoptedCallback: adoptedCallback,
7455
7559
  attributeChangedCallback: attributeChangedCallback,
7456
- observedAttributes: observedAttributes
7560
+ observedAttributes: observedAttributes,
7561
+ formAssociated: formAssociated
7457
7562
  };
7458
7563
  }
7459
7564
  // Helper to create stand-in element for each tagName registered that delegates out to the registry for the given
@@ -7532,6 +7637,34 @@
7532
7637
  }
7533
7638
  }
7534
7639
  }
7640
+ }, {
7641
+ key: "formAssociatedCallback",
7642
+ value: function formAssociatedCallback(form) {
7643
+ var _a;
7644
+ var definition = definitionForElement.get(this);
7645
+ (_a = definition === null || definition === void 0 ? void 0 : definition.formAssociatedCallback) === null || _a === void 0 ? void 0 : _a.call(this, form);
7646
+ }
7647
+ }, {
7648
+ key: "formDisabledCallback",
7649
+ value: function formDisabledCallback(disabled) {
7650
+ var _a;
7651
+ var definition = definitionForElement.get(this);
7652
+ (_a = definition === null || definition === void 0 ? void 0 : definition.formDisabledCallback) === null || _a === void 0 ? void 0 : _a.call(this, disabled);
7653
+ }
7654
+ }, {
7655
+ key: "formResetCallback",
7656
+ value: function formResetCallback() {
7657
+ var _a;
7658
+ var definition = definitionForElement.get(this);
7659
+ (_a = definition === null || definition === void 0 ? void 0 : definition.formResetCallback) === null || _a === void 0 ? void 0 : _a.call(this);
7660
+ }
7661
+ }, {
7662
+ key: "formStateRestoreCallback",
7663
+ value: function formStateRestoreCallback(state, mode) {
7664
+ var _a;
7665
+ var definition = definitionForElement.get(this);
7666
+ (_a = definition === null || definition === void 0 ? void 0 : definition.formStateRestoreCallback) === null || _a === void 0 ? void 0 : _a.call(this, state, mode);
7667
+ }
7535
7668
  }, {
7536
7669
  key: "adoptedCallback",
7537
7670
  value: function adoptedCallback() {
@@ -7555,6 +7688,8 @@
7555
7688
  return PivotCtor;
7556
7689
  }(NativeHTMLElement);
7557
7690
  PivotCtor.observedAttributes = _toConsumableArray(registeredDefinition.observedAttributes);
7691
+ // TODO [#3000]: support case where registeredDefinition is not form-associated, but later definition is.
7692
+ PivotCtor.formAssociated = registeredDefinition.formAssociated;
7558
7693
  registeredPivotCtors.add(PivotCtor);
7559
7694
  return PivotCtor;
7560
7695
  }
@@ -7925,9 +8060,9 @@
7925
8060
  // Creates a constructor that is intended to be used as the UserConstructor in a scoped (pivots) registry.
7926
8061
  // In this case, the upgradeCallback only needs to be defined once because we create these on-demand,
7927
8062
  // multiple times per tag name.
7928
- var createUserConstructor = function createUserConstructor(upgradeCallback, _connectedCallback2, _disconnectedCallback2, HTMLElementToExtend) {
8063
+ var createUserConstructor = function createUserConstructor(HTMLElementToExtend, upgradeCallback, connectedCallback, disconnectedCallback) {
7929
8064
  // TODO [#2972]: this class should expose observedAttributes as necessary
7930
- return /*#__PURE__*/function (_HTMLElementToExtend) {
8065
+ var UserConstructor = /*#__PURE__*/function (_HTMLElementToExtend) {
7931
8066
  _inherits(UserConstructor, _HTMLElementToExtend);
7932
8067
  var _super9 = _createSuper(UserConstructor);
7933
8068
  function UserConstructor() {
@@ -7937,26 +8072,27 @@
7937
8072
  upgradeCallback(_assertThisInitialized(_this7));
7938
8073
  return _this7;
7939
8074
  }
7940
- _createClass(UserConstructor, [{
7941
- key: "connectedCallback",
7942
- value: function connectedCallback() {
7943
- _connectedCallback2(this);
7944
- }
7945
- }, {
7946
- key: "disconnectedCallback",
7947
- value: function disconnectedCallback() {
7948
- _disconnectedCallback2(this);
7949
- }
7950
- }]);
7951
- return UserConstructor;
7952
- }(HTMLElementToExtend);
8075
+ return _createClass(UserConstructor);
8076
+ }(HTMLElementToExtend); // Do not unnecessarily add a connectedCallback/disconnectedCallback, as it introduces perf overhead
8077
+ // See: https://github.com/salesforce/lwc/pull/3162#issuecomment-1311851174
8078
+ if (!isUndefined$1(connectedCallback)) {
8079
+ UserConstructor.prototype.connectedCallback = function () {
8080
+ connectedCallback(this);
8081
+ };
8082
+ }
8083
+ if (!isUndefined$1(disconnectedCallback)) {
8084
+ UserConstructor.prototype.disconnectedCallback = function () {
8085
+ disconnectedCallback(this);
8086
+ };
8087
+ }
8088
+ return UserConstructor;
7953
8089
  };
7954
8090
  function createCustomElementScoped(tagName, upgradeCallback, connectedCallback, disconnectedCallback) {
7955
8091
  if (isUndefined$1(createScopedConstructor) || isUndefined$1(CachedHTMLElement)) {
7956
8092
  // This error should be impossible to hit
7957
8093
  throw new Error('The flag ENABLE_SCOPED_CUSTOM_ELEMENT_REGISTRY must be set to true to use this feature');
7958
8094
  }
7959
- var UserConstructor = createUserConstructor(upgradeCallback, connectedCallback, disconnectedCallback, CachedHTMLElement);
8095
+ var UserConstructor = createUserConstructor(CachedHTMLElement, upgradeCallback, connectedCallback, disconnectedCallback);
7960
8096
  var ScopedConstructor = createScopedConstructor(tagName, UserConstructor);
7961
8097
  return new ScopedConstructor(UserConstructor);
7962
8098
  }
@@ -8051,7 +8187,7 @@
8051
8187
  function isNull(obj) {
8052
8188
  return obj === null;
8053
8189
  }
8054
- /** version: 2.30.1 */
8190
+ /** version: 2.30.3 */
8055
8191
 
8056
8192
  /*
8057
8193
  * Copyright (c) 2018, salesforce.com, inc.
@@ -8129,7 +8265,7 @@
8129
8265
  doc.body.innerHTML = html;
8130
8266
  var content = doc.body;
8131
8267
  if (!isUndefined(wrapperTags)) {
8132
- for (var _i32 = 0; _i32 < wrapperTags.length; _i32++) {
8268
+ for (var _i33 = 0; _i33 < wrapperTags.length; _i33++) {
8133
8269
  content = content.firstChild;
8134
8270
  }
8135
8271
  }
@@ -8322,8 +8458,8 @@
8322
8458
  tagName: element.tagName.toLowerCase(),
8323
8459
  hydrated: true
8324
8460
  });
8325
- for (var _i33 = 0, _Object$entries2 = Object.entries(props); _i33 < _Object$entries2.length; _i33++) {
8326
- var _Object$entries2$_i = _slicedToArray(_Object$entries2[_i33], 2),
8461
+ for (var _i34 = 0, _Object$entries2 = Object.entries(props); _i34 < _Object$entries2.length; _i34++) {
8462
+ var _Object$entries2$_i = _slicedToArray(_Object$entries2[_i34], 2),
8327
8463
  key = _Object$entries2$_i[0],
8328
8464
  value = _Object$entries2$_i[1];
8329
8465
  element[key] = value;
@@ -8536,16 +8672,16 @@
8536
8672
  DisconnectingSlot.set(elm, disconnectRootElement);
8537
8673
  }
8538
8674
  };
8539
- var connectedCallback = function connectedCallback(elm) {
8540
- if (lwcRuntimeFlags.ENABLE_NATIVE_CUSTOM_ELEMENT_LIFECYCLE) {
8675
+ var connectedCallback;
8676
+ var disconnectedCallback;
8677
+ if (lwcRuntimeFlags.ENABLE_NATIVE_CUSTOM_ELEMENT_LIFECYCLE) {
8678
+ connectedCallback = function connectedCallback(elm) {
8541
8679
  connectRootElement(elm);
8542
- }
8543
- };
8544
- var disconnectedCallback = function disconnectedCallback(elm) {
8545
- if (lwcRuntimeFlags.ENABLE_NATIVE_CUSTOM_ELEMENT_LIFECYCLE) {
8680
+ };
8681
+ disconnectedCallback = function disconnectedCallback(elm) {
8546
8682
  disconnectRootElement(elm);
8547
- }
8548
- };
8683
+ };
8684
+ }
8549
8685
  var element = createCustomElement(tagName, upgradeCallback, connectedCallback, disconnectedCallback);
8550
8686
  return element;
8551
8687
  }
@@ -8617,7 +8753,7 @@
8617
8753
  });
8618
8754
  freeze(LightningElement);
8619
8755
  seal(LightningElement.prototype);
8620
- /* version: 2.30.1 */
8756
+ /* version: 2.30.3 */
8621
8757
 
8622
8758
  exports.LightningElement = LightningElement;
8623
8759
  exports.__unstable__ProfilerControl = profilerControl;