lwc 2.30.1 → 2.30.2

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 (35) hide show
  1. package/dist/engine-dom/esm/es2017/engine-dom.js +86 -41
  2. package/dist/engine-dom/iife/es2017/engine-dom.js +86 -41
  3. package/dist/engine-dom/iife/es2017/engine-dom.min.js +1 -1
  4. package/dist/engine-dom/iife/es2017/engine-dom_debug.js +83 -38
  5. package/dist/engine-dom/iife/es5/engine-dom.js +105 -60
  6. package/dist/engine-dom/iife/es5/engine-dom.min.js +1 -1
  7. package/dist/engine-dom/iife/es5/engine-dom_debug.js +102 -57
  8. package/dist/engine-dom/umd/es2017/engine-dom.js +86 -41
  9. package/dist/engine-dom/umd/es2017/engine-dom.min.js +1 -1
  10. package/dist/engine-dom/umd/es2017/engine-dom_debug.js +83 -38
  11. package/dist/engine-dom/umd/es5/engine-dom.js +105 -60
  12. package/dist/engine-dom/umd/es5/engine-dom.min.js +1 -1
  13. package/dist/engine-dom/umd/es5/engine-dom_debug.js +102 -57
  14. package/dist/engine-server/commonjs/es2017/engine-server.js +13 -13
  15. package/dist/engine-server/commonjs/es2017/engine-server.min.js +1 -1
  16. package/dist/engine-server/esm/es2017/engine-server.js +13 -13
  17. package/dist/synthetic-shadow/esm/es2017/synthetic-shadow.js +3 -3
  18. package/dist/synthetic-shadow/iife/es2017/synthetic-shadow.js +3 -3
  19. package/dist/synthetic-shadow/iife/es2017/synthetic-shadow_debug.js +3 -3
  20. package/dist/synthetic-shadow/iife/es5/synthetic-shadow.js +3 -3
  21. package/dist/synthetic-shadow/iife/es5/synthetic-shadow_debug.js +3 -3
  22. package/dist/synthetic-shadow/umd/es2017/synthetic-shadow.js +3 -3
  23. package/dist/synthetic-shadow/umd/es2017/synthetic-shadow_debug.js +3 -3
  24. package/dist/synthetic-shadow/umd/es5/synthetic-shadow.js +3 -3
  25. package/dist/synthetic-shadow/umd/es5/synthetic-shadow_debug.js +3 -3
  26. package/dist/wire-service/esm/es2017/wire-service.js +2 -2
  27. package/dist/wire-service/iife/es2017/wire-service.js +2 -2
  28. package/dist/wire-service/iife/es2017/wire-service_debug.js +2 -2
  29. package/dist/wire-service/iife/es5/wire-service.js +2 -2
  30. package/dist/wire-service/iife/es5/wire-service_debug.js +2 -2
  31. package/dist/wire-service/umd/es2017/wire-service.js +2 -2
  32. package/dist/wire-service/umd/es2017/wire-service_debug.js +2 -2
  33. package/dist/wire-service/umd/es5/wire-service.js +2 -2
  34. package/dist/wire-service/umd/es5/wire-service_debug.js +2 -2
  35. package/package.json +7 -7
@@ -281,7 +281,7 @@ var LWC = (function (exports) {
281
281
  CACHED_PROPERTY_ATTRIBUTE_MAPPING.set(propName, attributeName);
282
282
  return attributeName;
283
283
  }
284
- /** version: 2.30.1 */
284
+ /** version: 2.30.2 */
285
285
 
286
286
  /**
287
287
  * Copyright (C) 2018 salesforce.com, inc.
@@ -362,7 +362,7 @@ var LWC = (function (exports) {
362
362
  patch$1(propName);
363
363
  }
364
364
  }
365
- /** version: 2.30.1 */
365
+ /** version: 2.30.2 */
366
366
 
367
367
  /**
368
368
  * Copyright (C) 2018 salesforce.com, inc.
@@ -3144,16 +3144,16 @@ var LWC = (function (exports) {
3144
3144
  // the custom element from the registry is expecting an upgrade callback
3145
3145
  vm = createViewModelHook(elm, vnode, renderer);
3146
3146
  };
3147
- var connectedCallback = function connectedCallback(elm) {
3148
- if (lwcRuntimeFlags.ENABLE_NATIVE_CUSTOM_ELEMENT_LIFECYCLE) {
3147
+ var connectedCallback;
3148
+ var disconnectedCallback;
3149
+ if (lwcRuntimeFlags.ENABLE_NATIVE_CUSTOM_ELEMENT_LIFECYCLE) {
3150
+ connectedCallback = function connectedCallback(elm) {
3149
3151
  connectRootElement(elm);
3150
- }
3151
- };
3152
- var disconnectedCallback = function disconnectedCallback(elm) {
3153
- if (lwcRuntimeFlags.ENABLE_NATIVE_CUSTOM_ELEMENT_LIFECYCLE) {
3152
+ };
3153
+ disconnectedCallback = function disconnectedCallback(elm) {
3154
3154
  disconnectRootElement(elm);
3155
- }
3156
- };
3155
+ };
3156
+ }
3157
3157
  // Should never get a tag with upper case letter at this point; the compiler
3158
3158
  // should produce only tags with lowercase letters. However, the Java
3159
3159
  // compiler may generate tagnames with uppercase letters so - for backwards
@@ -5657,9 +5657,11 @@ var LWC = (function (exports) {
5657
5657
  // Another benefit is that only LWC can create components that actually do anything – if you do
5658
5658
  // `customElements.define('x-foo')`, then you don't have access to the upgradeCallback, so it's a dummy custom element.
5659
5659
  // This class should be created once per tag name.
5660
- var createUpgradableConstructor = function createUpgradableConstructor(_connectedCallback, _disconnectedCallback) {
5660
+ var createUpgradableConstructor = function createUpgradableConstructor(connectedCallback, disconnectedCallback) {
5661
+ var hasConnectedCallback = !isUndefined$1(connectedCallback);
5662
+ var hasDisconnectedCallback = !isUndefined$1(disconnectedCallback);
5661
5663
  // TODO [#2972]: this class should expose observedAttributes as necessary
5662
- return /*#__PURE__*/function (_HTMLElement) {
5664
+ var UpgradableConstructor = /*#__PURE__*/function (_HTMLElement) {
5663
5665
  _inherits(UpgradableConstructor, _HTMLElement);
5664
5666
  var _super7 = _createSuper(UpgradableConstructor);
5665
5667
  function UpgradableConstructor(upgradeCallback) {
@@ -5670,32 +5672,34 @@ var LWC = (function (exports) {
5670
5672
  // then elementBeingUpgraded will be false
5671
5673
  if (elementBeingUpgradedByLWC) {
5672
5674
  upgradeCallback(_assertThisInitialized(_this5));
5673
- } else {
5674
- // keep track of elements that were not created by lwc.createElement,
5675
- // so we can ignore their lifecycle hooks
5675
+ } else if (hasConnectedCallback || hasDisconnectedCallback) {
5676
+ // If this element has connected or disconnected callbacks, then we need to keep track of
5677
+ // instances that were created outside LWC (i.e. not created by `lwc.createElement()`).
5678
+ // If the element has no connected or disconnected callbacks, then we don't need to track this.
5676
5679
  elementsUpgradedOutsideLWC.add(_assertThisInitialized(_this5));
5677
5680
  // TODO [#2970]: LWC elements cannot be upgraded via new Ctor()
5678
5681
  // Do we want to support this? Throw an error? Currently for backwards compat it's a no-op.
5679
5682
  }
5680
5683
  return _this5;
5681
5684
  }
5682
- _createClass(UpgradableConstructor, [{
5683
- key: "connectedCallback",
5684
- value: function connectedCallback() {
5685
- if (!elementsUpgradedOutsideLWC.has(this)) {
5686
- _connectedCallback(this);
5687
- }
5685
+ return _createClass(UpgradableConstructor);
5686
+ }( /*#__PURE__*/_wrapNativeSuper(HTMLElement)); // Do not unnecessarily add a connectedCallback/disconnectedCallback, as it introduces perf overhead
5687
+ // See: https://github.com/salesforce/lwc/pull/3162#issuecomment-1311851174
5688
+ if (hasConnectedCallback) {
5689
+ UpgradableConstructor.prototype.connectedCallback = function () {
5690
+ if (!elementsUpgradedOutsideLWC.has(this)) {
5691
+ connectedCallback(this);
5688
5692
  }
5689
- }, {
5690
- key: "disconnectedCallback",
5691
- value: function disconnectedCallback() {
5692
- if (!elementsUpgradedOutsideLWC.has(this)) {
5693
- _disconnectedCallback(this);
5694
- }
5693
+ };
5694
+ }
5695
+ if (hasDisconnectedCallback) {
5696
+ UpgradableConstructor.prototype.disconnectedCallback = function () {
5697
+ if (!elementsUpgradedOutsideLWC.has(this)) {
5698
+ disconnectedCallback(this);
5695
5699
  }
5696
- }]);
5697
- return UpgradableConstructor;
5698
- }( /*#__PURE__*/_wrapNativeSuper(HTMLElement));
5700
+ };
5701
+ }
5702
+ return UpgradableConstructor;
5699
5703
  };
5700
5704
  var createCustomElementVanilla = function createCustomElementVanilla(tagName, upgradeCallback, connectedCallback, disconnectedCallback) {
5701
5705
  // use global custom elements registry
@@ -5755,17 +5759,27 @@ var LWC = (function (exports) {
5755
5759
  var _constructor$prototyp = constructor.prototype,
5756
5760
  connectedCallback = _constructor$prototyp.connectedCallback,
5757
5761
  disconnectedCallback = _constructor$prototyp.disconnectedCallback,
5762
+ formAssociatedCallback = _constructor$prototyp.formAssociatedCallback,
5763
+ formDisabledCallback = _constructor$prototyp.formDisabledCallback,
5764
+ formResetCallback = _constructor$prototyp.formResetCallback,
5765
+ formStateRestoreCallback = _constructor$prototyp.formStateRestoreCallback,
5758
5766
  adoptedCallback = _constructor$prototyp.adoptedCallback,
5759
5767
  attributeChangedCallback = _constructor$prototyp.attributeChangedCallback;
5768
+ var formAssociated = Boolean(constructor.formAssociated);
5760
5769
  var observedAttributes = new Set((_a = constructor.observedAttributes) !== null && _a !== void 0 ? _a : []);
5761
5770
  return {
5762
5771
  UserCtor: constructor,
5763
5772
  PivotCtor: undefined,
5764
5773
  connectedCallback: connectedCallback,
5765
5774
  disconnectedCallback: disconnectedCallback,
5775
+ formAssociatedCallback: formAssociatedCallback,
5776
+ formDisabledCallback: formDisabledCallback,
5777
+ formResetCallback: formResetCallback,
5778
+ formStateRestoreCallback: formStateRestoreCallback,
5766
5779
  adoptedCallback: adoptedCallback,
5767
5780
  attributeChangedCallback: attributeChangedCallback,
5768
- observedAttributes: observedAttributes
5781
+ observedAttributes: observedAttributes,
5782
+ formAssociated: formAssociated
5769
5783
  };
5770
5784
  }
5771
5785
  // Helper to create stand-in element for each tagName registered that delegates out to the registry for the given
@@ -5844,6 +5858,34 @@ var LWC = (function (exports) {
5844
5858
  }
5845
5859
  }
5846
5860
  }
5861
+ }, {
5862
+ key: "formAssociatedCallback",
5863
+ value: function formAssociatedCallback(form) {
5864
+ var _a;
5865
+ var definition = definitionForElement.get(this);
5866
+ (_a = definition === null || definition === void 0 ? void 0 : definition.formAssociatedCallback) === null || _a === void 0 ? void 0 : _a.call(this, form);
5867
+ }
5868
+ }, {
5869
+ key: "formDisabledCallback",
5870
+ value: function formDisabledCallback(disabled) {
5871
+ var _a;
5872
+ var definition = definitionForElement.get(this);
5873
+ (_a = definition === null || definition === void 0 ? void 0 : definition.formDisabledCallback) === null || _a === void 0 ? void 0 : _a.call(this, disabled);
5874
+ }
5875
+ }, {
5876
+ key: "formResetCallback",
5877
+ value: function formResetCallback() {
5878
+ var _a;
5879
+ var definition = definitionForElement.get(this);
5880
+ (_a = definition === null || definition === void 0 ? void 0 : definition.formResetCallback) === null || _a === void 0 ? void 0 : _a.call(this);
5881
+ }
5882
+ }, {
5883
+ key: "formStateRestoreCallback",
5884
+ value: function formStateRestoreCallback(state, mode) {
5885
+ var _a;
5886
+ var definition = definitionForElement.get(this);
5887
+ (_a = definition === null || definition === void 0 ? void 0 : definition.formStateRestoreCallback) === null || _a === void 0 ? void 0 : _a.call(this, state, mode);
5888
+ }
5847
5889
  }, {
5848
5890
  key: "adoptedCallback",
5849
5891
  value: function adoptedCallback() {
@@ -5867,6 +5909,8 @@ var LWC = (function (exports) {
5867
5909
  return PivotCtor;
5868
5910
  }(NativeHTMLElement);
5869
5911
  PivotCtor.observedAttributes = _toConsumableArray(registeredDefinition.observedAttributes);
5912
+ // TODO [#3000]: support case where registeredDefinition is not form-associated, but later definition is.
5913
+ PivotCtor.formAssociated = registeredDefinition.formAssociated;
5870
5914
  registeredPivotCtors.add(PivotCtor);
5871
5915
  return PivotCtor;
5872
5916
  }
@@ -6237,9 +6281,9 @@ var LWC = (function (exports) {
6237
6281
  // Creates a constructor that is intended to be used as the UserConstructor in a scoped (pivots) registry.
6238
6282
  // In this case, the upgradeCallback only needs to be defined once because we create these on-demand,
6239
6283
  // multiple times per tag name.
6240
- var createUserConstructor = function createUserConstructor(upgradeCallback, _connectedCallback2, _disconnectedCallback2, HTMLElementToExtend) {
6284
+ var createUserConstructor = function createUserConstructor(HTMLElementToExtend, upgradeCallback, connectedCallback, disconnectedCallback) {
6241
6285
  // TODO [#2972]: this class should expose observedAttributes as necessary
6242
- return /*#__PURE__*/function (_HTMLElementToExtend) {
6286
+ var UserConstructor = /*#__PURE__*/function (_HTMLElementToExtend) {
6243
6287
  _inherits(UserConstructor, _HTMLElementToExtend);
6244
6288
  var _super9 = _createSuper(UserConstructor);
6245
6289
  function UserConstructor() {
@@ -6249,26 +6293,27 @@ var LWC = (function (exports) {
6249
6293
  upgradeCallback(_assertThisInitialized(_this7));
6250
6294
  return _this7;
6251
6295
  }
6252
- _createClass(UserConstructor, [{
6253
- key: "connectedCallback",
6254
- value: function connectedCallback() {
6255
- _connectedCallback2(this);
6256
- }
6257
- }, {
6258
- key: "disconnectedCallback",
6259
- value: function disconnectedCallback() {
6260
- _disconnectedCallback2(this);
6261
- }
6262
- }]);
6263
- return UserConstructor;
6264
- }(HTMLElementToExtend);
6296
+ return _createClass(UserConstructor);
6297
+ }(HTMLElementToExtend); // Do not unnecessarily add a connectedCallback/disconnectedCallback, as it introduces perf overhead
6298
+ // See: https://github.com/salesforce/lwc/pull/3162#issuecomment-1311851174
6299
+ if (!isUndefined$1(connectedCallback)) {
6300
+ UserConstructor.prototype.connectedCallback = function () {
6301
+ connectedCallback(this);
6302
+ };
6303
+ }
6304
+ if (!isUndefined$1(disconnectedCallback)) {
6305
+ UserConstructor.prototype.disconnectedCallback = function () {
6306
+ disconnectedCallback(this);
6307
+ };
6308
+ }
6309
+ return UserConstructor;
6265
6310
  };
6266
6311
  function createCustomElementScoped(tagName, upgradeCallback, connectedCallback, disconnectedCallback) {
6267
6312
  if (isUndefined$1(createScopedConstructor) || isUndefined$1(CachedHTMLElement)) {
6268
6313
  // This error should be impossible to hit
6269
6314
  throw new Error('The flag ENABLE_SCOPED_CUSTOM_ELEMENT_REGISTRY must be set to true to use this feature');
6270
6315
  }
6271
- var UserConstructor = createUserConstructor(upgradeCallback, connectedCallback, disconnectedCallback, CachedHTMLElement);
6316
+ var UserConstructor = createUserConstructor(CachedHTMLElement, upgradeCallback, connectedCallback, disconnectedCallback);
6272
6317
  var ScopedConstructor = createScopedConstructor(tagName, UserConstructor);
6273
6318
  return new ScopedConstructor(UserConstructor);
6274
6319
  }
@@ -6363,7 +6408,7 @@ var LWC = (function (exports) {
6363
6408
  function isNull(obj) {
6364
6409
  return obj === null;
6365
6410
  }
6366
- /** version: 2.30.1 */
6411
+ /** version: 2.30.2 */
6367
6412
 
6368
6413
  /*
6369
6414
  * Copyright (c) 2018, salesforce.com, inc.
@@ -6841,16 +6886,16 @@ var LWC = (function (exports) {
6841
6886
  DisconnectingSlot.set(elm, disconnectRootElement);
6842
6887
  }
6843
6888
  };
6844
- var connectedCallback = function connectedCallback(elm) {
6845
- if (lwcRuntimeFlags.ENABLE_NATIVE_CUSTOM_ELEMENT_LIFECYCLE) {
6889
+ var connectedCallback;
6890
+ var disconnectedCallback;
6891
+ if (lwcRuntimeFlags.ENABLE_NATIVE_CUSTOM_ELEMENT_LIFECYCLE) {
6892
+ connectedCallback = function connectedCallback(elm) {
6846
6893
  connectRootElement(elm);
6847
- }
6848
- };
6849
- var disconnectedCallback = function disconnectedCallback(elm) {
6850
- if (lwcRuntimeFlags.ENABLE_NATIVE_CUSTOM_ELEMENT_LIFECYCLE) {
6894
+ };
6895
+ disconnectedCallback = function disconnectedCallback(elm) {
6851
6896
  disconnectRootElement(elm);
6852
- }
6853
- };
6897
+ };
6898
+ }
6854
6899
  var element = createCustomElement(tagName, upgradeCallback, connectedCallback, disconnectedCallback);
6855
6900
  return element;
6856
6901
  }
@@ -6922,7 +6967,7 @@ var LWC = (function (exports) {
6922
6967
  });
6923
6968
  freeze(LightningElement);
6924
6969
  seal(LightningElement.prototype);
6925
- /* version: 2.30.1 */
6970
+ /* version: 2.30.2 */
6926
6971
 
6927
6972
  exports.LightningElement = LightningElement;
6928
6973
  exports.__unstable__ProfilerControl = profilerControl;
@@ -305,9 +305,9 @@
305
305
  * For full license text, see the LICENSE file in the repo root or https://opensource.org/licenses/MIT
306
306
  */
307
307
  // Increment whenever the LWC template compiler changes
308
- const LWC_VERSION = "2.30.1";
308
+ const LWC_VERSION = "2.30.2";
309
309
  const LWC_VERSION_COMMENT_REGEX = /\/\*LWC compiler v([\d.]+)\*\/\s*}/;
310
- /** version: 2.30.1 */
310
+ /** version: 2.30.2 */
311
311
 
312
312
  /**
313
313
  * Copyright (C) 2018 salesforce.com, inc.
@@ -389,7 +389,7 @@
389
389
  patch$1(propName);
390
390
  }
391
391
  }
392
- /** version: 2.30.1 */
392
+ /** version: 2.30.2 */
393
393
 
394
394
  /**
395
395
  * Copyright (C) 2018 salesforce.com, inc.
@@ -469,7 +469,7 @@
469
469
  setFeatureFlag(name, value);
470
470
  }
471
471
  }
472
- /** version: 2.30.1 */
472
+ /** version: 2.30.2 */
473
473
 
474
474
  /*
475
475
  * Copyright (c) 2018, salesforce.com, inc.
@@ -4066,16 +4066,16 @@
4066
4066
  // the custom element from the registry is expecting an upgrade callback
4067
4067
  vm = createViewModelHook(elm, vnode, renderer);
4068
4068
  };
4069
- const connectedCallback = elm => {
4070
- if (lwcRuntimeFlags.ENABLE_NATIVE_CUSTOM_ELEMENT_LIFECYCLE) {
4069
+ let connectedCallback;
4070
+ let disconnectedCallback;
4071
+ if (lwcRuntimeFlags.ENABLE_NATIVE_CUSTOM_ELEMENT_LIFECYCLE) {
4072
+ connectedCallback = elm => {
4071
4073
  connectRootElement(elm);
4072
- }
4073
- };
4074
- const disconnectedCallback = elm => {
4075
- if (lwcRuntimeFlags.ENABLE_NATIVE_CUSTOM_ELEMENT_LIFECYCLE) {
4074
+ };
4075
+ disconnectedCallback = elm => {
4076
4076
  disconnectRootElement(elm);
4077
- }
4078
- };
4077
+ };
4078
+ }
4079
4079
  // Should never get a tag with upper case letter at this point; the compiler
4080
4080
  // should produce only tags with lowercase letters. However, the Java
4081
4081
  // compiler may generate tagnames with uppercase letters so - for backwards
@@ -6943,7 +6943,7 @@
6943
6943
  }
6944
6944
  return ctor;
6945
6945
  }
6946
- /* version: 2.30.1 */
6946
+ /* version: 2.30.2 */
6947
6947
 
6948
6948
  /*
6949
6949
  * Copyright (c) 2018, salesforce.com, inc.
@@ -7226,8 +7226,10 @@
7226
7226
  // `customElements.define('x-foo')`, then you don't have access to the upgradeCallback, so it's a dummy custom element.
7227
7227
  // This class should be created once per tag name.
7228
7228
  const createUpgradableConstructor = (connectedCallback, disconnectedCallback) => {
7229
+ const hasConnectedCallback = !isUndefined$1(connectedCallback);
7230
+ const hasDisconnectedCallback = !isUndefined$1(disconnectedCallback);
7229
7231
  // TODO [#2972]: this class should expose observedAttributes as necessary
7230
- return class UpgradableConstructor extends HTMLElement {
7232
+ class UpgradableConstructor extends HTMLElement {
7231
7233
  constructor(upgradeCallback) {
7232
7234
  super();
7233
7235
  // If the element is not created using lwc.createElement(), e.g. `document.createElement('x-foo')`,
@@ -7235,25 +7237,33 @@
7235
7237
  if (elementBeingUpgradedByLWC) {
7236
7238
  upgradeCallback(this);
7237
7239
  }
7238
- else {
7239
- // keep track of elements that were not created by lwc.createElement,
7240
- // so we can ignore their lifecycle hooks
7240
+ else if (hasConnectedCallback || hasDisconnectedCallback) {
7241
+ // If this element has connected or disconnected callbacks, then we need to keep track of
7242
+ // instances that were created outside LWC (i.e. not created by `lwc.createElement()`).
7243
+ // If the element has no connected or disconnected callbacks, then we don't need to track this.
7241
7244
  elementsUpgradedOutsideLWC.add(this);
7242
7245
  // TODO [#2970]: LWC elements cannot be upgraded via new Ctor()
7243
7246
  // Do we want to support this? Throw an error? Currently for backwards compat it's a no-op.
7244
7247
  }
7245
7248
  }
7246
- connectedCallback() {
7249
+ }
7250
+ // Do not unnecessarily add a connectedCallback/disconnectedCallback, as it introduces perf overhead
7251
+ // See: https://github.com/salesforce/lwc/pull/3162#issuecomment-1311851174
7252
+ if (hasConnectedCallback) {
7253
+ UpgradableConstructor.prototype.connectedCallback = function () {
7247
7254
  if (!elementsUpgradedOutsideLWC.has(this)) {
7248
7255
  connectedCallback(this);
7249
7256
  }
7250
- }
7251
- disconnectedCallback() {
7257
+ };
7258
+ }
7259
+ if (hasDisconnectedCallback) {
7260
+ UpgradableConstructor.prototype.disconnectedCallback = function () {
7252
7261
  if (!elementsUpgradedOutsideLWC.has(this)) {
7253
7262
  disconnectedCallback(this);
7254
7263
  }
7255
- }
7256
- };
7264
+ };
7265
+ }
7266
+ return UpgradableConstructor;
7257
7267
  };
7258
7268
  const createCustomElementVanilla = (tagName, upgradeCallback, connectedCallback, disconnectedCallback) => {
7259
7269
  // use global custom elements registry
@@ -7306,16 +7316,22 @@
7306
7316
  const EMPTY_SET = new Set();
7307
7317
  function createDefinitionRecord(constructor) {
7308
7318
  var _a;
7309
- const { connectedCallback, disconnectedCallback, adoptedCallback, attributeChangedCallback, } = constructor.prototype;
7319
+ const { connectedCallback, disconnectedCallback, formAssociatedCallback, formDisabledCallback, formResetCallback, formStateRestoreCallback, adoptedCallback, attributeChangedCallback, } = constructor.prototype;
7320
+ const formAssociated = Boolean(constructor.formAssociated);
7310
7321
  const observedAttributes = new Set((_a = constructor.observedAttributes) !== null && _a !== void 0 ? _a : []);
7311
7322
  return {
7312
7323
  UserCtor: constructor,
7313
7324
  PivotCtor: undefined,
7314
7325
  connectedCallback,
7315
7326
  disconnectedCallback,
7327
+ formAssociatedCallback,
7328
+ formDisabledCallback,
7329
+ formResetCallback,
7330
+ formStateRestoreCallback,
7316
7331
  adoptedCallback,
7317
7332
  attributeChangedCallback,
7318
7333
  observedAttributes,
7334
+ formAssociated,
7319
7335
  };
7320
7336
  }
7321
7337
  // Helper to create stand-in element for each tagName registered that delegates out to the registry for the given
@@ -7390,6 +7406,26 @@
7390
7406
  }
7391
7407
  }
7392
7408
  }
7409
+ formAssociatedCallback(form) {
7410
+ var _a;
7411
+ const definition = definitionForElement.get(this);
7412
+ (_a = definition === null || definition === void 0 ? void 0 : definition.formAssociatedCallback) === null || _a === void 0 ? void 0 : _a.call(this, form);
7413
+ }
7414
+ formDisabledCallback(disabled) {
7415
+ var _a;
7416
+ const definition = definitionForElement.get(this);
7417
+ (_a = definition === null || definition === void 0 ? void 0 : definition.formDisabledCallback) === null || _a === void 0 ? void 0 : _a.call(this, disabled);
7418
+ }
7419
+ formResetCallback() {
7420
+ var _a;
7421
+ const definition = definitionForElement.get(this);
7422
+ (_a = definition === null || definition === void 0 ? void 0 : definition.formResetCallback) === null || _a === void 0 ? void 0 : _a.call(this);
7423
+ }
7424
+ formStateRestoreCallback(state, mode) {
7425
+ var _a;
7426
+ const definition = definitionForElement.get(this);
7427
+ (_a = definition === null || definition === void 0 ? void 0 : definition.formStateRestoreCallback) === null || _a === void 0 ? void 0 : _a.call(this, state, mode);
7428
+ }
7393
7429
  adoptedCallback() {
7394
7430
  var _a;
7395
7431
  const definition = definitionForElement.get(this);
@@ -7408,6 +7444,8 @@
7408
7444
  }
7409
7445
  }
7410
7446
  PivotCtor.observedAttributes = [...registeredDefinition.observedAttributes];
7447
+ // TODO [#3000]: support case where registeredDefinition is not form-associated, but later definition is.
7448
+ PivotCtor.formAssociated = registeredDefinition.formAssociated;
7411
7449
  registeredPivotCtors.add(PivotCtor);
7412
7450
  return PivotCtor;
7413
7451
  }
@@ -7754,27 +7792,34 @@
7754
7792
  // Creates a constructor that is intended to be used as the UserConstructor in a scoped (pivots) registry.
7755
7793
  // In this case, the upgradeCallback only needs to be defined once because we create these on-demand,
7756
7794
  // multiple times per tag name.
7757
- const createUserConstructor = (upgradeCallback, connectedCallback, disconnectedCallback, HTMLElementToExtend) => {
7795
+ const createUserConstructor = (HTMLElementToExtend, upgradeCallback, connectedCallback, disconnectedCallback) => {
7758
7796
  // TODO [#2972]: this class should expose observedAttributes as necessary
7759
- return class UserConstructor extends HTMLElementToExtend {
7797
+ class UserConstructor extends HTMLElementToExtend {
7760
7798
  constructor() {
7761
7799
  super();
7762
7800
  upgradeCallback(this);
7763
7801
  }
7764
- connectedCallback() {
7802
+ }
7803
+ // Do not unnecessarily add a connectedCallback/disconnectedCallback, as it introduces perf overhead
7804
+ // See: https://github.com/salesforce/lwc/pull/3162#issuecomment-1311851174
7805
+ if (!isUndefined$1(connectedCallback)) {
7806
+ UserConstructor.prototype.connectedCallback = function () {
7765
7807
  connectedCallback(this);
7766
- }
7767
- disconnectedCallback() {
7808
+ };
7809
+ }
7810
+ if (!isUndefined$1(disconnectedCallback)) {
7811
+ UserConstructor.prototype.disconnectedCallback = function () {
7768
7812
  disconnectedCallback(this);
7769
- }
7770
- };
7813
+ };
7814
+ }
7815
+ return UserConstructor;
7771
7816
  };
7772
7817
  function createCustomElementScoped(tagName, upgradeCallback, connectedCallback, disconnectedCallback) {
7773
7818
  if (isUndefined$1(createScopedConstructor) || isUndefined$1(CachedHTMLElement)) {
7774
7819
  // This error should be impossible to hit
7775
7820
  throw new Error('The flag ENABLE_SCOPED_CUSTOM_ELEMENT_REGISTRY must be set to true to use this feature');
7776
7821
  }
7777
- const UserConstructor = createUserConstructor(upgradeCallback, connectedCallback, disconnectedCallback, CachedHTMLElement);
7822
+ const UserConstructor = createUserConstructor(CachedHTMLElement, upgradeCallback, connectedCallback, disconnectedCallback);
7778
7823
  const ScopedConstructor = createScopedConstructor(tagName, UserConstructor);
7779
7824
  return new ScopedConstructor(UserConstructor);
7780
7825
  }
@@ -7871,7 +7916,7 @@
7871
7916
  function isNull(obj) {
7872
7917
  return obj === null;
7873
7918
  }
7874
- /** version: 2.30.1 */
7919
+ /** version: 2.30.2 */
7875
7920
 
7876
7921
  /*
7877
7922
  * Copyright (c) 2018, salesforce.com, inc.
@@ -8350,16 +8395,16 @@
8350
8395
  DisconnectingSlot.set(elm, disconnectRootElement);
8351
8396
  }
8352
8397
  };
8353
- const connectedCallback = elm => {
8354
- if (lwcRuntimeFlags.ENABLE_NATIVE_CUSTOM_ELEMENT_LIFECYCLE) {
8398
+ let connectedCallback;
8399
+ let disconnectedCallback;
8400
+ if (lwcRuntimeFlags.ENABLE_NATIVE_CUSTOM_ELEMENT_LIFECYCLE) {
8401
+ connectedCallback = elm => {
8355
8402
  connectRootElement(elm);
8356
- }
8357
- };
8358
- const disconnectedCallback = elm => {
8359
- if (lwcRuntimeFlags.ENABLE_NATIVE_CUSTOM_ELEMENT_LIFECYCLE) {
8403
+ };
8404
+ disconnectedCallback = elm => {
8360
8405
  disconnectRootElement(elm);
8361
- }
8362
- };
8406
+ };
8407
+ }
8363
8408
  const element = createCustomElement(tagName, upgradeCallback, connectedCallback, disconnectedCallback);
8364
8409
  return element;
8365
8410
  }
@@ -8432,7 +8477,7 @@
8432
8477
  });
8433
8478
  freeze(LightningElement);
8434
8479
  seal(LightningElement.prototype);
8435
- /* version: 2.30.1 */
8480
+ /* version: 2.30.2 */
8436
8481
 
8437
8482
  exports.LightningElement = LightningElement;
8438
8483
  exports.__unstable__ProfilerControl = profilerControl;