lwc 2.23.5 → 2.24.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (39) hide show
  1. package/dist/engine-dom/esm/es2017/engine-dom.js +216 -69
  2. package/dist/engine-dom/iife/es2017/engine-dom.js +216 -69
  3. package/dist/engine-dom/iife/es2017/engine-dom.min.js +1 -1
  4. package/dist/engine-dom/iife/es2017/engine-dom_debug.js +194 -67
  5. package/dist/engine-dom/iife/es5/engine-dom.js +494 -313
  6. package/dist/engine-dom/iife/es5/engine-dom.min.js +1 -1
  7. package/dist/engine-dom/iife/es5/engine-dom_debug.js +463 -299
  8. package/dist/engine-dom/umd/es2017/engine-dom.js +216 -69
  9. package/dist/engine-dom/umd/es2017/engine-dom.min.js +1 -1
  10. package/dist/engine-dom/umd/es2017/engine-dom_debug.js +194 -67
  11. package/dist/engine-dom/umd/es5/engine-dom.js +494 -313
  12. package/dist/engine-dom/umd/es5/engine-dom.min.js +1 -1
  13. package/dist/engine-dom/umd/es5/engine-dom_debug.js +463 -299
  14. package/dist/engine-server/commonjs/es2017/engine-server.js +124 -16
  15. package/dist/engine-server/commonjs/es2017/engine-server.min.js +1 -1
  16. package/dist/engine-server/esm/es2017/engine-server.js +124 -16
  17. package/dist/synthetic-shadow/esm/es2017/synthetic-shadow.js +205 -168
  18. package/dist/synthetic-shadow/iife/es2017/synthetic-shadow.js +205 -168
  19. package/dist/synthetic-shadow/iife/es2017/synthetic-shadow.min.js +2 -2
  20. package/dist/synthetic-shadow/iife/es2017/synthetic-shadow_debug.js +195 -158
  21. package/dist/synthetic-shadow/iife/es5/synthetic-shadow.js +25 -11
  22. package/dist/synthetic-shadow/iife/es5/synthetic-shadow.min.js +2 -2
  23. package/dist/synthetic-shadow/iife/es5/synthetic-shadow_debug.js +25 -11
  24. package/dist/synthetic-shadow/umd/es2017/synthetic-shadow.js +205 -168
  25. package/dist/synthetic-shadow/umd/es2017/synthetic-shadow.min.js +2 -2
  26. package/dist/synthetic-shadow/umd/es2017/synthetic-shadow_debug.js +195 -158
  27. package/dist/synthetic-shadow/umd/es5/synthetic-shadow.js +25 -11
  28. package/dist/synthetic-shadow/umd/es5/synthetic-shadow.min.js +2 -2
  29. package/dist/synthetic-shadow/umd/es5/synthetic-shadow_debug.js +25 -11
  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
@@ -299,9 +299,9 @@ function htmlPropertyToAttribute(propName) {
299
299
  * For full license text, see the LICENSE file in the repo root or https://opensource.org/licenses/MIT
300
300
  */
301
301
  // Increment whenever the LWC template compiler changes
302
- const LWC_VERSION = "2.23.5";
302
+ const LWC_VERSION = "2.24.0";
303
303
  const LWC_VERSION_COMMENT_REGEX = /\/\*LWC compiler v([\d.]+)\*\/\s*}/;
304
- /** version: 2.23.5 */
304
+ /** version: 2.24.0 */
305
305
 
306
306
  /**
307
307
  * Copyright (C) 2018 salesforce.com, inc.
@@ -383,7 +383,7 @@ for (let i = 0, len = ElementPrototypeAriaPropertyNames.length; i < len; i += 1)
383
383
  patch$1(propName);
384
384
  }
385
385
  }
386
- /** version: 2.23.5 */
386
+ /** version: 2.24.0 */
387
387
 
388
388
  /**
389
389
  * Copyright (C) 2018 salesforce.com, inc.
@@ -462,7 +462,7 @@ function setFeatureFlagForTest(name, value) {
462
462
  setFeatureFlag(name, value);
463
463
  }
464
464
  }
465
- /** version: 2.23.5 */
465
+ /** version: 2.24.0 */
466
466
 
467
467
  /*
468
468
  * Copyright (c) 2018, salesforce.com, inc.
@@ -596,6 +596,20 @@ function flattenStylesheets(stylesheets) {
596
596
  }
597
597
  return list;
598
598
  }
599
+ // Set a ref (lwc:ref) on a VM, from a template API
600
+ function setRefVNode(vm, ref, vnode) {
601
+ if (process.env.NODE_ENV !== 'production' && isUndefined$1(vm.refVNodes)) {
602
+ throw new Error('refVNodes must be defined when setting a ref');
603
+ }
604
+ // If this method is called, then vm.refVNodes is set as the template has refs.
605
+ // If not, then something went wrong and we threw an error above.
606
+ const refVNodes = vm.refVNodes;
607
+ // In cases of conflict (two elements with the same ref), prefer, the last one,
608
+ // in depth-first traversal order.
609
+ if (!(ref in refVNodes) || refVNodes[ref].key < vnode.key) {
610
+ refVNodes[ref] = vnode;
611
+ }
612
+ }
599
613
 
600
614
  /*
601
615
  * Copyright (c) 2019, salesforce.com, inc.
@@ -1912,6 +1926,8 @@ function createBridgeToElementDescriptor(propName, descriptor) {
1912
1926
  },
1913
1927
  };
1914
1928
  }
1929
+ const EMPTY_REFS = freeze(create(null));
1930
+ const refsCache = new WeakMap();
1915
1931
  /**
1916
1932
  * This class is the base class for any LWC element.
1917
1933
  * Some elements directly extends this class, others implement it via inheritance.
@@ -2091,6 +2107,70 @@ LightningElement.prototype = {
2091
2107
  }
2092
2108
  return vm.shadowRoot;
2093
2109
  },
2110
+ get refs() {
2111
+ const vm = getAssociatedVM(this);
2112
+ if (isUpdatingTemplate) {
2113
+ if (process.env.NODE_ENV !== 'production') {
2114
+ logError(`this.refs should not be called while ${getComponentTag(vm)} is rendering. Use this.refs only when the DOM is stable, e.g. in renderedCallback().`);
2115
+ }
2116
+ // If the template is in the process of being updated, then we don't want to go through the normal
2117
+ // process of returning the refs and caching them, because the state of the refs is unstable.
2118
+ // This can happen if e.g. a template contains `<div class={foo}></div>` and `foo` is computed
2119
+ // based on `this.refs.bar`.
2120
+ return;
2121
+ }
2122
+ if (process.env.NODE_ENV !== 'production') {
2123
+ warnIfInvokedDuringConstruction(vm, 'refs');
2124
+ }
2125
+ const { refVNodes, hasRefVNodes, cmpTemplate } = vm;
2126
+ // If the `cmpTemplate` is null, that means that the template has not been rendered yet. Most likely this occurs
2127
+ // if `this.refs` is called during the `connectedCallback` phase. The DOM elements have not been rendered yet,
2128
+ // so log a warning. Note we also check `isBeingConstructed()` to avoid a double warning (due to
2129
+ // `warnIfInvokedDuringConstruction` above).
2130
+ if (process.env.NODE_ENV !== 'production' &&
2131
+ isNull(cmpTemplate) &&
2132
+ !isBeingConstructed(vm)) {
2133
+ logError(`this.refs is undefined for ${getComponentTag(vm)}. This is either because the attached template has no "lwc:ref" directive, or this.refs was ` +
2134
+ `invoked before renderedCallback(). Use this.refs only when the referenced HTML elements have ` +
2135
+ `been rendered to the DOM, such as within renderedCallback() or disconnectedCallback().`);
2136
+ }
2137
+ // For backwards compatibility with component written before template refs
2138
+ // were introduced, we return undefined if the template has no refs defined
2139
+ // anywhere. This fixes components that may want to add an expando called `refs`
2140
+ // and are checking if it exists with `if (this.refs)` before adding it.
2141
+ // Note it is not sufficient to just check if `refVNodes` is null or empty,
2142
+ // because a template may have `lwc:ref` defined within a falsy `if:true` block.
2143
+ if (!hasRefVNodes) {
2144
+ return;
2145
+ }
2146
+ // For templates that are using `lwc:ref`, if there are no refs currently available
2147
+ // (e.g. refs inside of a falsy `if:true` block), we return an empty object.
2148
+ if (isNull(refVNodes)) {
2149
+ return EMPTY_REFS;
2150
+ }
2151
+ // The refNodes can be cached based on the refVNodes, since the refVNodes
2152
+ // are recreated from scratch every time the template is rendered.
2153
+ // This happens with `vm.refVNodes = null` in `template.ts` in `@lwc/engine-core`.
2154
+ let refs = refsCache.get(refVNodes);
2155
+ if (isUndefined$1(refs)) {
2156
+ refs = create(null);
2157
+ for (const key of keys(refVNodes)) {
2158
+ refs[key] = refVNodes[key].elm;
2159
+ }
2160
+ freeze(refs);
2161
+ refsCache.set(refVNodes, refs);
2162
+ }
2163
+ return refs;
2164
+ },
2165
+ // For backwards compat, we allow component authors to set `refs` as an expando
2166
+ set refs(value) {
2167
+ defineProperty(this, 'refs', {
2168
+ configurable: true,
2169
+ enumerable: true,
2170
+ writable: true,
2171
+ value,
2172
+ });
2173
+ },
2094
2174
  get shadowRoot() {
2095
2175
  // From within the component instance, the shadowRoot is always reported as "closed".
2096
2176
  // Authors should rely on this.template instead.
@@ -3679,13 +3759,27 @@ function isLiveBindingProp(sel, key) {
3679
3759
  return sel === 'input' && (key === 'value' || key === 'checked');
3680
3760
  }
3681
3761
  function patchProps(oldVnode, vnode, renderer) {
3682
- const { props } = vnode.data;
3683
- if (isUndefined$1(props)) {
3762
+ let { props } = vnode.data;
3763
+ const { spread } = vnode.data;
3764
+ if (isUndefined$1(props) && isUndefined$1(spread)) {
3684
3765
  return;
3685
3766
  }
3686
- const oldProps = isNull(oldVnode) ? EmptyObject : oldVnode.data.props;
3687
- if (oldProps === props) {
3688
- return;
3767
+ let oldProps;
3768
+ if (!isNull(oldVnode)) {
3769
+ oldProps = oldVnode.data.props;
3770
+ const oldSpread = oldVnode.data.spread;
3771
+ if (oldProps === props && oldSpread === spread) {
3772
+ return;
3773
+ }
3774
+ if (isUndefined$1(oldProps)) {
3775
+ oldProps = EmptyObject;
3776
+ }
3777
+ if (!isUndefined$1(oldSpread)) {
3778
+ oldProps = assign({}, oldProps, oldSpread);
3779
+ }
3780
+ }
3781
+ if (!isUndefined$1(spread)) {
3782
+ props = assign({}, props, spread);
3689
3783
  }
3690
3784
  const isFirstPatch = isNull(oldVnode);
3691
3785
  const { elm, sel } = vnode;
@@ -3695,7 +3789,9 @@ function patchProps(oldVnode, vnode, renderer) {
3695
3789
  // Set the property if it's the first time is is patched or if the previous property is
3696
3790
  // different than the one previously set.
3697
3791
  if (isFirstPatch ||
3698
- cur !== (isLiveBindingProp(sel, key) ? getProperty(elm, key) : oldProps[key])) {
3792
+ cur !== (isLiveBindingProp(sel, key) ? getProperty(elm, key) : oldProps[key]) ||
3793
+ !(key in oldProps) // this is required because the above case will pass when `cur` is `undefined` and key is missing in `oldProps`
3794
+ ) {
3699
3795
  // Additional verification if properties are supported by the element
3700
3796
  // Validation relies on html properties and public properties being defined on the element,
3701
3797
  // SSR has its own custom validation.
@@ -4755,17 +4851,20 @@ function h(sel, data, children = EmptyArray) {
4755
4851
  }
4756
4852
  });
4757
4853
  }
4758
- let elm;
4759
- const { key } = data;
4760
- return {
4854
+ const { key, ref } = data;
4855
+ const vnode = {
4761
4856
  type: 2 /* VNodeType.Element */,
4762
4857
  sel,
4763
4858
  data,
4764
4859
  children,
4765
- elm,
4860
+ elm: undefined,
4766
4861
  key,
4767
4862
  owner: vmBeingRendered,
4768
4863
  };
4864
+ if (!isUndefined$1(ref)) {
4865
+ setRefVNode(vmBeingRendered, ref, vnode);
4866
+ }
4867
+ return vnode;
4769
4868
  }
4770
4869
  // [t]ab[i]ndex function
4771
4870
  function ti(value) {
@@ -4830,7 +4929,7 @@ function c(sel, Ctor, data, children = EmptyArray) {
4830
4929
  });
4831
4930
  }
4832
4931
  }
4833
- const { key } = data;
4932
+ const { key, ref } = data;
4834
4933
  let elm, aChildren, vm;
4835
4934
  const vnode = {
4836
4935
  type: 3 /* VNodeType.CustomElement */,
@@ -4846,6 +4945,9 @@ function c(sel, Ctor, data, children = EmptyArray) {
4846
4945
  vm,
4847
4946
  };
4848
4947
  addVNodeToChildLWC(vnode);
4948
+ if (!isUndefined$1(ref)) {
4949
+ setRefVNode(vmBeingRendered, ref, vnode);
4950
+ }
4849
4951
  return vnode;
4850
4952
  }
4851
4953
  // [i]terable node
@@ -5374,6 +5476,10 @@ function evaluateTemplate(vm, html) {
5374
5476
  // add the VM to the list of host VMs that can be re-rendered if html is swapped
5375
5477
  setActiveVM(vm);
5376
5478
  }
5479
+ // reset the refs; they will be set during the tmpl() instantiation
5480
+ const hasRefVNodes = Boolean(html.hasRefs);
5481
+ vm.hasRefVNodes = hasRefVNodes;
5482
+ vm.refVNodes = hasRefVNodes ? create(null) : null;
5377
5483
  // right before producing the vnodes, we clear up all internal references
5378
5484
  // to custom elements from the template.
5379
5485
  vm.velements = [];
@@ -5732,6 +5838,8 @@ function createVM(elm, ctor, renderer, options) {
5732
5838
  tagName,
5733
5839
  mode,
5734
5840
  owner,
5841
+ refVNodes: null,
5842
+ hasRefVNodes: false,
5735
5843
  children: EmptyArray,
5736
5844
  aChildren: EmptyArray,
5737
5845
  velements: EmptyArray,
@@ -7134,7 +7242,7 @@ function getComponentConstructor(elm) {
7134
7242
  }
7135
7243
  return ctor;
7136
7244
  }
7137
- /* version: 2.23.5 */
7245
+ /* version: 2.24.0 */
7138
7246
 
7139
7247
  /*
7140
7248
  * Copyright (c) 2018, salesforce.com, inc.
@@ -7295,20 +7403,59 @@ function insertStylesheet(content, target) {
7295
7403
  * @param baseRenderer Either null or the base renderer imported from 'lwc'.
7296
7404
  */
7297
7405
  function rendererFactory(baseRenderer) {
7298
- // Util functions
7299
- function assertInvariant(value, msg) {
7406
+ const renderer = (function (exports) {
7407
+
7408
+ /**
7409
+ * Copyright (C) 2018 salesforce.com, inc.
7410
+ */
7411
+ /*
7412
+ * Copyright (c) 2018, salesforce.com, inc.
7413
+ * All rights reserved.
7414
+ * SPDX-License-Identifier: MIT
7415
+ * For full license text, see the LICENSE file in the repo root or https://opensource.org/licenses/MIT
7416
+ */
7417
+ function invariant(value, msg) {
7300
7418
  if (!value) {
7301
7419
  throw new Error(`Invariant Violation: ${msg}`);
7302
7420
  }
7303
7421
  }
7304
- function isNull(obj) {
7305
- return obj === null;
7422
+ function isTrue$1(value, msg) {
7423
+ if (!value) {
7424
+ throw new Error(`Assert Violation: ${msg}`);
7425
+ }
7306
7426
  }
7427
+ function isFalse$1(value, msg) {
7428
+ if (value) {
7429
+ throw new Error(`Assert Violation: ${msg}`);
7430
+ }
7431
+ }
7432
+ function fail(msg) {
7433
+ throw new Error(msg);
7434
+ }
7435
+
7436
+ var assert = /*#__PURE__*/Object.freeze({
7437
+ __proto__: null,
7438
+ invariant: invariant,
7439
+ isTrue: isTrue$1,
7440
+ isFalse: isFalse$1,
7441
+ fail: fail
7442
+ });
7307
7443
  function isUndefined(obj) {
7308
7444
  return obj === undefined;
7309
7445
  }
7310
- let getCustomElement;
7311
- let defineCustomElement;
7446
+ function isNull(obj) {
7447
+ return obj === null;
7448
+ }
7449
+ /** version: 2.24.0 */
7450
+
7451
+ /*
7452
+ * Copyright (c) 2018, salesforce.com, inc.
7453
+ * All rights reserved.
7454
+ * SPDX-License-Identifier: MIT
7455
+ * For full license text, see the LICENSE file in the repo root or https://opensource.org/licenses/MIT
7456
+ */
7457
+ exports.getCustomElement = void 0;
7458
+ exports.defineCustomElement = void 0;
7312
7459
  let HTMLElementConstructor;
7313
7460
  function isCustomElementRegistryAvailable() {
7314
7461
  if (typeof customElements === 'undefined') {
@@ -7334,21 +7481,21 @@ function rendererFactory(baseRenderer) {
7334
7481
  }
7335
7482
  }
7336
7483
  if (isCustomElementRegistryAvailable()) {
7337
- getCustomElement = customElements.get.bind(customElements);
7338
- defineCustomElement = customElements.define.bind(customElements);
7484
+ exports.getCustomElement = customElements.get.bind(customElements);
7485
+ exports.defineCustomElement = customElements.define.bind(customElements);
7339
7486
  HTMLElementConstructor = HTMLElement;
7340
7487
  }
7341
7488
  else {
7342
7489
  const registry = Object.create(null);
7343
7490
  const reverseRegistry = new WeakMap();
7344
- defineCustomElement = function define(name, ctor) {
7491
+ exports.defineCustomElement = function define(name, ctor) {
7345
7492
  if (name !== String.prototype.toLowerCase.call(name) || registry[name]) {
7346
7493
  throw new TypeError(`Invalid Registration`);
7347
7494
  }
7348
7495
  registry[name] = ctor;
7349
7496
  reverseRegistry.set(ctor, name);
7350
7497
  };
7351
- getCustomElement = function get(name) {
7498
+ exports.getCustomElement = function get(name) {
7352
7499
  return registry[name];
7353
7500
  };
7354
7501
  HTMLElementConstructor = function HTMLElement() {
@@ -7380,12 +7527,12 @@ function rendererFactory(baseRenderer) {
7380
7527
  function createComment(content) {
7381
7528
  return document.createComment(content);
7382
7529
  }
7383
- let createFragment;
7530
+ exports.createFragment = void 0;
7384
7531
  // IE11 lacks support for this feature
7385
7532
  const SUPPORTS_TEMPLATE = typeof HTMLTemplateElement === 'function';
7386
7533
  if (SUPPORTS_TEMPLATE) {
7387
7534
  // Parse the fragment HTML string into DOM
7388
- createFragment = function (html) {
7535
+ exports.createFragment = function (html) {
7389
7536
  const template = document.createElement('template');
7390
7537
  template.innerHTML = html;
7391
7538
  return template.content.firstChild;
@@ -7417,7 +7564,7 @@ function rendererFactory(baseRenderer) {
7417
7564
  return (/<([a-z][^/\0>\x20\t\r\n\f]+)/i.exec(text) || ['', ''])[1].toLowerCase();
7418
7565
  };
7419
7566
  // Via https://github.com/webcomponents/polyfills/blob/ee1db33/packages/template/template.js#L295-L320
7420
- createFragment = function (html) {
7567
+ exports.createFragment = function (html) {
7421
7568
  const wrapperTags = topLevelWrappingMap[getTagName(html)];
7422
7569
  if (!isUndefined(wrapperTags)) {
7423
7570
  for (const wrapperTag of wrapperTags) {
@@ -7537,47 +7684,47 @@ function rendererFactory(baseRenderer) {
7537
7684
  return node.isConnected;
7538
7685
  }
7539
7686
  function assertInstanceOfHTMLElement(elm, msg) {
7540
- assertInvariant(elm instanceof HTMLElement, msg);
7687
+ assert.invariant(elm instanceof HTMLElement, msg);
7541
7688
  }
7542
7689
  const HTMLElementExported = HTMLElementConstructor;
7543
- const renderer = {
7544
- HTMLElementExported,
7545
- insert,
7546
- remove,
7547
- cloneNode,
7548
- createFragment,
7549
- createElement,
7550
- createText,
7551
- createComment,
7552
- nextSibling,
7553
- attachShadow,
7554
- getProperty,
7555
- setProperty,
7556
- setText,
7557
- getAttribute,
7558
- setAttribute,
7559
- removeAttribute,
7560
- addEventListener,
7561
- removeEventListener,
7562
- dispatchEvent,
7563
- getClassList,
7564
- setCSSStyleProperty,
7565
- getBoundingClientRect,
7566
- querySelector,
7567
- querySelectorAll,
7568
- getElementsByTagName,
7569
- getElementsByClassName,
7570
- getChildren,
7571
- getChildNodes,
7572
- getFirstChild,
7573
- getFirstElementChild,
7574
- getLastChild,
7575
- getLastElementChild,
7576
- isConnected,
7577
- assertInstanceOfHTMLElement,
7578
- defineCustomElement,
7579
- getCustomElement,
7580
- };
7690
+
7691
+ exports.HTMLElementExported = HTMLElementExported;
7692
+ exports.addEventListener = addEventListener;
7693
+ exports.assertInstanceOfHTMLElement = assertInstanceOfHTMLElement;
7694
+ exports.attachShadow = attachShadow;
7695
+ exports.cloneNode = cloneNode;
7696
+ exports.createComment = createComment;
7697
+ exports.createElement = createElement;
7698
+ exports.createText = createText;
7699
+ exports.dispatchEvent = dispatchEvent;
7700
+ exports.getAttribute = getAttribute;
7701
+ exports.getBoundingClientRect = getBoundingClientRect;
7702
+ exports.getChildNodes = getChildNodes;
7703
+ exports.getChildren = getChildren;
7704
+ exports.getClassList = getClassList;
7705
+ exports.getElementsByClassName = getElementsByClassName;
7706
+ exports.getElementsByTagName = getElementsByTagName;
7707
+ exports.getFirstChild = getFirstChild;
7708
+ exports.getFirstElementChild = getFirstElementChild;
7709
+ exports.getLastChild = getLastChild;
7710
+ exports.getLastElementChild = getLastElementChild;
7711
+ exports.getProperty = getProperty;
7712
+ exports.insert = insert;
7713
+ exports.isConnected = isConnected;
7714
+ exports.nextSibling = nextSibling;
7715
+ exports.querySelector = querySelector;
7716
+ exports.querySelectorAll = querySelectorAll;
7717
+ exports.remove = remove;
7718
+ exports.removeAttribute = removeAttribute;
7719
+ exports.removeEventListener = removeEventListener;
7720
+ exports.setAttribute = setAttribute;
7721
+ exports.setCSSStyleProperty = setCSSStyleProperty;
7722
+ exports.setProperty = setProperty;
7723
+ exports.setText = setText;
7724
+
7725
+ return exports;
7726
+
7727
+ })({});
7581
7728
  // Meant to inherit any properties passed via the base renderer as the argument to the factory.
7582
7729
  Object.setPrototypeOf(renderer, baseRenderer);
7583
7730
  return renderer;
@@ -7918,6 +8065,6 @@ defineProperty(LightningElement, 'CustomElementConstructor', {
7918
8065
  });
7919
8066
  freeze(LightningElement);
7920
8067
  seal(LightningElement.prototype);
7921
- /* version: 2.23.5 */
8068
+ /* version: 2.24.0 */
7922
8069
 
7923
8070
  export { LightningElement, profilerControl as __unstable__ProfilerControl, api$1 as api, deprecatedBuildCustomElementConstructor as buildCustomElementConstructor, createContextProvider, createElement, freezeTemplate, getComponentConstructor, getComponentDef, hydrateComponent, isComponentConstructor, isNodeShadowed as isNodeFromTemplate, parseFragment, parseSVGFragment, readonly, register, registerComponent, registerDecorators, registerTemplate, renderer, rendererFactory, sanitizeAttribute, setFeatureFlag, setFeatureFlagForTest, setHooks, swapComponent, swapStyle, swapTemplate, track, unwrap, wire };