lwc 2.23.3 → 2.23.5

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 +77 -11
  2. package/dist/engine-dom/iife/es2017/engine-dom.js +77 -11
  3. package/dist/engine-dom/iife/es2017/engine-dom.min.js +1 -1
  4. package/dist/engine-dom/iife/es2017/engine-dom_debug.js +75 -9
  5. package/dist/engine-dom/iife/es5/engine-dom.js +82 -12
  6. package/dist/engine-dom/iife/es5/engine-dom.min.js +1 -1
  7. package/dist/engine-dom/iife/es5/engine-dom_debug.js +80 -10
  8. package/dist/engine-dom/umd/es2017/engine-dom.js +77 -11
  9. package/dist/engine-dom/umd/es2017/engine-dom.min.js +1 -1
  10. package/dist/engine-dom/umd/es2017/engine-dom_debug.js +75 -9
  11. package/dist/engine-dom/umd/es5/engine-dom.js +82 -12
  12. package/dist/engine-dom/umd/es5/engine-dom.min.js +1 -1
  13. package/dist/engine-dom/umd/es5/engine-dom_debug.js +80 -10
  14. package/dist/engine-server/commonjs/es2017/engine-server.js +67 -10
  15. package/dist/engine-server/commonjs/es2017/engine-server.min.js +1 -1
  16. package/dist/engine-server/esm/es2017/engine-server.js +67 -10
  17. package/dist/synthetic-shadow/esm/es2017/synthetic-shadow.js +55 -36
  18. package/dist/synthetic-shadow/iife/es2017/synthetic-shadow.js +55 -36
  19. package/dist/synthetic-shadow/iife/es2017/synthetic-shadow.min.js +2 -2
  20. package/dist/synthetic-shadow/iife/es2017/synthetic-shadow_debug.js +52 -32
  21. package/dist/synthetic-shadow/iife/es5/synthetic-shadow.js +24 -18
  22. package/dist/synthetic-shadow/iife/es5/synthetic-shadow.min.js +2 -2
  23. package/dist/synthetic-shadow/iife/es5/synthetic-shadow_debug.js +24 -18
  24. package/dist/synthetic-shadow/umd/es2017/synthetic-shadow.js +55 -36
  25. package/dist/synthetic-shadow/umd/es2017/synthetic-shadow.min.js +2 -2
  26. package/dist/synthetic-shadow/umd/es2017/synthetic-shadow_debug.js +52 -32
  27. package/dist/synthetic-shadow/umd/es5/synthetic-shadow.js +24 -18
  28. package/dist/synthetic-shadow/umd/es5/synthetic-shadow.min.js +2 -2
  29. package/dist/synthetic-shadow/umd/es5/synthetic-shadow_debug.js +24 -18
  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
@@ -432,9 +432,9 @@ function htmlEscape(str, attrMode = false) {
432
432
  * For full license text, see the LICENSE file in the repo root or https://opensource.org/licenses/MIT
433
433
  */
434
434
  // Increment whenever the LWC template compiler changes
435
- const LWC_VERSION = "2.23.3";
435
+ const LWC_VERSION = "2.23.5";
436
436
  const LWC_VERSION_COMMENT_REGEX = /\/\*LWC compiler v([\d.]+)\*\/\s*}/;
437
- /** version: 2.23.3 */
437
+ /** version: 2.23.5 */
438
438
 
439
439
  /*
440
440
  * Copyright (c) 2020, salesforce.com, inc.
@@ -491,6 +491,7 @@ const features = {
491
491
  ENABLE_NODE_PATCH: null,
492
492
  ENABLE_REACTIVE_SETTER: null,
493
493
  ENABLE_WIRE_SYNC_EMIT: null,
494
+ ENABLE_LIGHT_GET_ROOT_NODE_PATCH: null,
494
495
  };
495
496
  if (!_globalThis.lwcRuntimeFlags) {
496
497
  Object.defineProperty(_globalThis, 'lwcRuntimeFlags', { value: create(null) });
@@ -544,7 +545,7 @@ function setFeatureFlagForTest(name, value) {
544
545
  setFeatureFlag(name, value);
545
546
  }
546
547
  }
547
- /** version: 2.23.3 */
548
+ /** version: 2.23.5 */
548
549
 
549
550
  /* proxy-compat-disable */
550
551
 
@@ -3651,6 +3652,12 @@ function patch(n1, n2, parent, renderer) {
3651
3652
  n2.elm = n1.elm;
3652
3653
  break;
3653
3654
 
3655
+ case 5
3656
+ /* VNodeType.Fragment */
3657
+ :
3658
+ patchFragment(n1, n2, parent, renderer);
3659
+ break;
3660
+
3654
3661
  case 2
3655
3662
  /* VNodeType.Element */
3656
3663
  :
@@ -3690,6 +3697,12 @@ function mount(node, parent, renderer, anchor) {
3690
3697
  mountStatic(node, parent, anchor, renderer);
3691
3698
  break;
3692
3699
 
3700
+ case 5
3701
+ /* VNodeType.Fragment */
3702
+ :
3703
+ mountFragment(node, parent, anchor, renderer);
3704
+ break;
3705
+
3693
3706
  case 2
3694
3707
  /* VNodeType.Element */
3695
3708
  :
@@ -3747,6 +3760,31 @@ function mountComment(vnode, parent, anchor, renderer) {
3747
3760
  insertNode(commentNode, parent, anchor, renderer);
3748
3761
  }
3749
3762
 
3763
+ function mountFragment(vnode, parent, anchor, renderer) {
3764
+ const {
3765
+ children
3766
+ } = vnode;
3767
+ mountVNodes(children, parent, renderer, anchor); // children of a fragment will always have at least the two delimiters.
3768
+
3769
+ vnode.elm = children[children.length - 1].elm;
3770
+ }
3771
+
3772
+ function patchFragment(n1, n2, parent, renderer) {
3773
+ const {
3774
+ children,
3775
+ stable
3776
+ } = n2;
3777
+
3778
+ if (stable) {
3779
+ updateStaticChildren(n1.children, children, parent, renderer);
3780
+ } else {
3781
+ updateDynamicChildren(n1.children, children, parent, renderer);
3782
+ } // Note: not reusing n1.elm, because during patching, it may be patched with another text node.
3783
+
3784
+
3785
+ n2.elm = children[children.length - 1].elm;
3786
+ }
3787
+
3750
3788
  function mountElement(vnode, parent, anchor, renderer) {
3751
3789
  const {
3752
3790
  sel,
@@ -3902,9 +3940,15 @@ function unmount(vnode, parent, renderer, doRemove = false) {
3902
3940
  // subtree root, is the only element worth unmounting from the subtree.
3903
3941
 
3904
3942
  if (doRemove) {
3905
- // The vnode might or might not have a data.renderer associated to it
3906
- // but the removal used here is from the owner instead.
3907
- removeNode(elm, parent, renderer);
3943
+ if (type === 5
3944
+ /* VNodeType.Fragment */
3945
+ ) {
3946
+ unmountVNodes(vnode.children, parent, renderer, doRemove);
3947
+ } else {
3948
+ // The vnode might or might not have a data.renderer associated to it
3949
+ // but the removal used here is from the owner instead.
3950
+ removeNode(elm, parent, renderer);
3951
+ }
3908
3952
  }
3909
3953
 
3910
3954
  switch (type) {
@@ -4411,6 +4455,18 @@ function st(fragment, key) {
4411
4455
  owner: getVMBeingRendered(),
4412
4456
  };
4413
4457
  }
4458
+ // [fr]agment node
4459
+ function fr(key, children, stable) {
4460
+ return {
4461
+ type: 5 /* VNodeType.Fragment */,
4462
+ sel: undefined,
4463
+ key,
4464
+ elm: undefined,
4465
+ children: [t(''), ...children, t('')],
4466
+ stable,
4467
+ owner: getVMBeingRendered(),
4468
+ };
4469
+ }
4414
4470
  // [h]tml node
4415
4471
  function h(sel, data, children = EmptyArray) {
4416
4472
  const vmBeingRendered = getVMBeingRendered();
@@ -4630,13 +4686,13 @@ function t(text) {
4630
4686
  }
4631
4687
  // [co]mment node
4632
4688
  function co(text) {
4633
- let sel, key, elm;
4689
+ let sel, elm;
4634
4690
  return {
4635
4691
  type: 1 /* VNodeType.Comment */,
4636
4692
  sel,
4637
4693
  text,
4638
4694
  elm,
4639
- key,
4695
+ key: 'c',
4640
4696
  owner: getVMBeingRendered(),
4641
4697
  };
4642
4698
  }
@@ -4781,6 +4837,7 @@ const api = freeze({
4781
4837
  k,
4782
4838
  co,
4783
4839
  dc,
4840
+ fr,
4784
4841
  ti,
4785
4842
  st,
4786
4843
  gid,
@@ -6242,7 +6299,7 @@ function freezeTemplate(tmpl) {
6242
6299
  });
6243
6300
  }
6244
6301
  }
6245
- /* version: 2.23.3 */
6302
+ /* version: 2.23.5 */
6246
6303
 
6247
6304
  /*
6248
6305
  * Copyright (c) 2020, salesforce.com, inc.
@@ -6712,6 +6769,6 @@ function renderComponent(tagName, Ctor, props = {}) {
6712
6769
  */
6713
6770
  freeze(LightningElement);
6714
6771
  seal(LightningElement.prototype);
6715
- /* version: 2.23.3 */
6772
+ /* version: 2.23.5 */
6716
6773
 
6717
6774
  export { LightningElement, api$1 as api, createContextProvider, freezeTemplate, getComponentDef, isComponentConstructor, parseFragment, parseFragment as parseSVGFragment, readonly, register, registerComponent, registerDecorators, registerTemplate, renderComponent, renderer, sanitizeAttribute, setFeatureFlag, setFeatureFlagForTest, setHooks, track, unwrap, wire };
@@ -148,7 +148,7 @@ const KEY__SYNTHETIC_MODE = '$$lwc-synthetic-mode';
148
148
  // We use this to detect symbol support in order to avoid the expensive symbol polyfill. Note that
149
149
  // we can't use typeof since it will fail when transpiling.
150
150
  const hasNativeSymbolSupport = /*@__PURE__*/ (() => Symbol('x').toString() === 'Symbol(x)')();
151
- /** version: 2.23.3 */
151
+ /** version: 2.23.5 */
152
152
 
153
153
  /*
154
154
  * Copyright (c) 2018, salesforce.com, inc.
@@ -455,58 +455,86 @@ function arrayFromCollection(collection) {
455
455
  const eventTargetPrototype = typeof EventTarget !== 'undefined' ? EventTarget.prototype : _Node.prototype;
456
456
  const { addEventListener, dispatchEvent, removeEventListener } = eventTargetPrototype;
457
457
 
458
+ /**
459
+ * Copyright (C) 2018 salesforce.com, inc.
460
+ */
461
+ if (!_globalThis.lwcRuntimeFlags) {
462
+ Object.defineProperty(_globalThis, 'lwcRuntimeFlags', { value: create(null) });
463
+ }
464
+ const lwcRuntimeFlags = _globalThis.lwcRuntimeFlags;
465
+ /** version: 2.23.5 */
466
+
458
467
  /*
459
468
  * Copyright (c) 2018, salesforce.com, inc.
460
469
  * All rights reserved.
461
470
  * SPDX-License-Identifier: MIT
462
471
  * For full license text, see the LICENSE file in the repo root or https://opensource.org/licenses/MIT
463
472
  */
464
- // Used as a back reference to identify the host element
473
+
465
474
  const HostElementKey = '$$HostElementKey$$';
466
475
  const ShadowedNodeKey = '$$ShadowedNodeKey$$';
476
+
467
477
  function fastDefineProperty(node, propName, config) {
468
- const shadowedNode = node;
469
- if (process.env.NODE_ENV !== 'production') {
470
- // in dev, we are more restrictive
471
- defineProperty(shadowedNode, propName, config);
472
- }
473
- else {
474
- const { value } = config;
475
- // in prod, we prioritize performance
476
- shadowedNode[propName] = value;
477
- }
478
+ const shadowedNode = node;
479
+
480
+ if (process.env.NODE_ENV !== 'production') {
481
+ // in dev, we are more restrictive
482
+ defineProperty(shadowedNode, propName, config);
483
+ } else {
484
+ const {
485
+ value
486
+ } = config; // in prod, we prioritize performance
487
+
488
+ shadowedNode[propName] = value;
489
+ }
478
490
  }
491
+
479
492
  function setNodeOwnerKey(node, value) {
480
- fastDefineProperty(node, HostElementKey, { value, configurable: true });
493
+ fastDefineProperty(node, HostElementKey, {
494
+ value,
495
+ configurable: true
496
+ });
481
497
  }
482
498
  function setNodeKey(node, value) {
483
- fastDefineProperty(node, ShadowedNodeKey, { value });
499
+ fastDefineProperty(node, ShadowedNodeKey, {
500
+ value
501
+ });
484
502
  }
485
503
  function getNodeOwnerKey(node) {
486
- return node[HostElementKey];
504
+ return node[HostElementKey];
487
505
  }
488
506
  function getNodeNearestOwnerKey(node) {
489
- let host = node;
490
- let hostKey;
491
- // search for the first element with owner identity (just in case of manually inserted elements)
492
- while (!isNull(host)) {
493
- hostKey = getNodeOwnerKey(host);
494
- if (!isUndefined(hostKey)) {
495
- return hostKey;
496
- }
497
- host = parentNodeGetter.call(host);
507
+ let host = node;
508
+ let hostKey; // search for the first element with owner identity
509
+ // in case of manually inserted elements and elements slotted from Light DOM
510
+
511
+ while (!isNull(host)) {
512
+ hostKey = getNodeOwnerKey(host);
513
+
514
+ if (!isUndefined(hostKey)) {
515
+ return hostKey;
498
516
  }
517
+
518
+ host = parentNodeGetter.call(host);
519
+
520
+ if (lwcRuntimeFlags.ENABLE_LIGHT_GET_ROOT_NODE_PATCH) {
521
+ if (!isNull(host) && isSyntheticSlotElement(host)) {
522
+ return undefined;
523
+ }
524
+ }
525
+ }
499
526
  }
500
527
  function getNodeKey(node) {
501
- return node[ShadowedNodeKey];
528
+ return node[ShadowedNodeKey];
502
529
  }
503
530
  /**
504
531
  * This function does not traverse up for performance reasons, but is sufficient for most use
505
532
  * cases. If we need to traverse up and verify those nodes that don't have owner key, use
506
533
  * isNodeDeepShadowed instead.
507
534
  */
535
+
508
536
  function isNodeShadowed(node) {
509
- return !isUndefined(getNodeOwnerKey(node));
537
+ return !isUndefined(getNodeOwnerKey(node));
510
538
  }
511
539
 
512
540
  /*
@@ -1117,15 +1145,6 @@ function createStaticHTMLCollection(items) {
1117
1145
  return collection;
1118
1146
  }
1119
1147
 
1120
- /**
1121
- * Copyright (C) 2018 salesforce.com, inc.
1122
- */
1123
- if (!_globalThis.lwcRuntimeFlags) {
1124
- Object.defineProperty(_globalThis, 'lwcRuntimeFlags', { value: create(null) });
1125
- }
1126
- const lwcRuntimeFlags = _globalThis.lwcRuntimeFlags;
1127
- /** version: 2.23.3 */
1128
-
1129
1148
  /*
1130
1149
  * Copyright (c) 2018, salesforce.com, inc.
1131
1150
  * All rights reserved.
@@ -5114,4 +5133,4 @@ if (process.env.NODE_ENV !== 'production' && typeof __karma__ !== 'undefined') {
5114
5133
  }));
5115
5134
  });
5116
5135
  }
5117
- /** version: 2.23.3 */
5136
+ /** version: 2.23.5 */
@@ -151,7 +151,7 @@
151
151
  // We use this to detect symbol support in order to avoid the expensive symbol polyfill. Note that
152
152
  // we can't use typeof since it will fail when transpiling.
153
153
  const hasNativeSymbolSupport = /*@__PURE__*/ (() => Symbol('x').toString() === 'Symbol(x)')();
154
- /** version: 2.23.3 */
154
+ /** version: 2.23.5 */
155
155
 
156
156
  /*
157
157
  * Copyright (c) 2018, salesforce.com, inc.
@@ -458,58 +458,86 @@
458
458
  const eventTargetPrototype = typeof EventTarget !== 'undefined' ? EventTarget.prototype : _Node.prototype;
459
459
  const { addEventListener, dispatchEvent, removeEventListener } = eventTargetPrototype;
460
460
 
461
+ /**
462
+ * Copyright (C) 2018 salesforce.com, inc.
463
+ */
464
+ if (!_globalThis.lwcRuntimeFlags) {
465
+ Object.defineProperty(_globalThis, 'lwcRuntimeFlags', { value: create(null) });
466
+ }
467
+ const lwcRuntimeFlags = _globalThis.lwcRuntimeFlags;
468
+ /** version: 2.23.5 */
469
+
461
470
  /*
462
471
  * Copyright (c) 2018, salesforce.com, inc.
463
472
  * All rights reserved.
464
473
  * SPDX-License-Identifier: MIT
465
474
  * For full license text, see the LICENSE file in the repo root or https://opensource.org/licenses/MIT
466
475
  */
467
- // Used as a back reference to identify the host element
476
+
468
477
  const HostElementKey = '$$HostElementKey$$';
469
478
  const ShadowedNodeKey = '$$ShadowedNodeKey$$';
479
+
470
480
  function fastDefineProperty(node, propName, config) {
471
- const shadowedNode = node;
472
- if (process.env.NODE_ENV !== 'production') {
473
- // in dev, we are more restrictive
474
- defineProperty(shadowedNode, propName, config);
475
- }
476
- else {
477
- const { value } = config;
478
- // in prod, we prioritize performance
479
- shadowedNode[propName] = value;
480
- }
481
+ const shadowedNode = node;
482
+
483
+ if (process.env.NODE_ENV !== 'production') {
484
+ // in dev, we are more restrictive
485
+ defineProperty(shadowedNode, propName, config);
486
+ } else {
487
+ const {
488
+ value
489
+ } = config; // in prod, we prioritize performance
490
+
491
+ shadowedNode[propName] = value;
492
+ }
481
493
  }
494
+
482
495
  function setNodeOwnerKey(node, value) {
483
- fastDefineProperty(node, HostElementKey, { value, configurable: true });
496
+ fastDefineProperty(node, HostElementKey, {
497
+ value,
498
+ configurable: true
499
+ });
484
500
  }
485
501
  function setNodeKey(node, value) {
486
- fastDefineProperty(node, ShadowedNodeKey, { value });
502
+ fastDefineProperty(node, ShadowedNodeKey, {
503
+ value
504
+ });
487
505
  }
488
506
  function getNodeOwnerKey(node) {
489
- return node[HostElementKey];
507
+ return node[HostElementKey];
490
508
  }
491
509
  function getNodeNearestOwnerKey(node) {
492
- let host = node;
493
- let hostKey;
494
- // search for the first element with owner identity (just in case of manually inserted elements)
495
- while (!isNull(host)) {
496
- hostKey = getNodeOwnerKey(host);
497
- if (!isUndefined(hostKey)) {
498
- return hostKey;
499
- }
500
- host = parentNodeGetter.call(host);
510
+ let host = node;
511
+ let hostKey; // search for the first element with owner identity
512
+ // in case of manually inserted elements and elements slotted from Light DOM
513
+
514
+ while (!isNull(host)) {
515
+ hostKey = getNodeOwnerKey(host);
516
+
517
+ if (!isUndefined(hostKey)) {
518
+ return hostKey;
501
519
  }
520
+
521
+ host = parentNodeGetter.call(host);
522
+
523
+ if (lwcRuntimeFlags.ENABLE_LIGHT_GET_ROOT_NODE_PATCH) {
524
+ if (!isNull(host) && isSyntheticSlotElement(host)) {
525
+ return undefined;
526
+ }
527
+ }
528
+ }
502
529
  }
503
530
  function getNodeKey(node) {
504
- return node[ShadowedNodeKey];
531
+ return node[ShadowedNodeKey];
505
532
  }
506
533
  /**
507
534
  * This function does not traverse up for performance reasons, but is sufficient for most use
508
535
  * cases. If we need to traverse up and verify those nodes that don't have owner key, use
509
536
  * isNodeDeepShadowed instead.
510
537
  */
538
+
511
539
  function isNodeShadowed(node) {
512
- return !isUndefined(getNodeOwnerKey(node));
540
+ return !isUndefined(getNodeOwnerKey(node));
513
541
  }
514
542
 
515
543
  /*
@@ -1120,15 +1148,6 @@
1120
1148
  return collection;
1121
1149
  }
1122
1150
 
1123
- /**
1124
- * Copyright (C) 2018 salesforce.com, inc.
1125
- */
1126
- if (!_globalThis.lwcRuntimeFlags) {
1127
- Object.defineProperty(_globalThis, 'lwcRuntimeFlags', { value: create(null) });
1128
- }
1129
- const lwcRuntimeFlags = _globalThis.lwcRuntimeFlags;
1130
- /** version: 2.23.3 */
1131
-
1132
1151
  /*
1133
1152
  * Copyright (c) 2018, salesforce.com, inc.
1134
1153
  * All rights reserved.
@@ -5117,6 +5136,6 @@
5117
5136
  }));
5118
5137
  });
5119
5138
  }
5120
- /** version: 2.23.3 */
5139
+ /** version: 2.23.5 */
5121
5140
 
5122
5141
  })();