lwc 2.42.0 → 2.43.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 (64) hide show
  1. package/dist/engine-dom/esm/es2017/engine-dom.js +41 -24
  2. package/dist/engine-dom/esm/es2017/engine-dom.js.map +1 -1
  3. package/dist/engine-dom/iife/es2017/engine-dom.js +41 -23
  4. package/dist/engine-dom/iife/es2017/engine-dom.js.map +1 -1
  5. package/dist/engine-dom/iife/es2017/engine-dom.min.js +1 -1
  6. package/dist/engine-dom/iife/es2017/engine-dom_debug.js +32 -16
  7. package/dist/engine-dom/iife/es2017/engine-dom_debug.js.map +1 -1
  8. package/dist/engine-dom/iife/es5/engine-dom.js +42 -24
  9. package/dist/engine-dom/iife/es5/engine-dom.js.map +1 -1
  10. package/dist/engine-dom/iife/es5/engine-dom.min.js +1 -1
  11. package/dist/engine-dom/iife/es5/engine-dom_debug.js +34 -18
  12. package/dist/engine-dom/iife/es5/engine-dom_debug.js.map +1 -1
  13. package/dist/engine-dom/umd/es2017/engine-dom.js +41 -23
  14. package/dist/engine-dom/umd/es2017/engine-dom.js.map +1 -1
  15. package/dist/engine-dom/umd/es2017/engine-dom.min.js +1 -1
  16. package/dist/engine-dom/umd/es2017/engine-dom_debug.js +32 -16
  17. package/dist/engine-dom/umd/es2017/engine-dom_debug.js.map +1 -1
  18. package/dist/engine-dom/umd/es5/engine-dom.js +42 -24
  19. package/dist/engine-dom/umd/es5/engine-dom.js.map +1 -1
  20. package/dist/engine-dom/umd/es5/engine-dom.min.js +1 -1
  21. package/dist/engine-dom/umd/es5/engine-dom_debug.js +34 -18
  22. package/dist/engine-dom/umd/es5/engine-dom_debug.js.map +1 -1
  23. package/dist/engine-server/commonjs/es2017/engine-server.js +37 -14
  24. package/dist/engine-server/commonjs/es2017/engine-server.js.map +1 -1
  25. package/dist/engine-server/commonjs/es2017/engine-server.min.js +1 -1
  26. package/dist/engine-server/esm/es2017/engine-server.js +37 -15
  27. package/dist/engine-server/esm/es2017/engine-server.js.map +1 -1
  28. package/dist/synthetic-shadow/esm/es2017/synthetic-shadow.js +3 -3
  29. package/dist/synthetic-shadow/esm/es2017/synthetic-shadow.js.map +1 -1
  30. package/dist/synthetic-shadow/iife/es2017/synthetic-shadow.js +3 -3
  31. package/dist/synthetic-shadow/iife/es2017/synthetic-shadow.js.map +1 -1
  32. package/dist/synthetic-shadow/iife/es2017/synthetic-shadow_debug.js +3 -3
  33. package/dist/synthetic-shadow/iife/es2017/synthetic-shadow_debug.js.map +1 -1
  34. package/dist/synthetic-shadow/iife/es5/synthetic-shadow.js +3 -3
  35. package/dist/synthetic-shadow/iife/es5/synthetic-shadow.js.map +1 -1
  36. package/dist/synthetic-shadow/iife/es5/synthetic-shadow_debug.js +3 -3
  37. package/dist/synthetic-shadow/iife/es5/synthetic-shadow_debug.js.map +1 -1
  38. package/dist/synthetic-shadow/umd/es2017/synthetic-shadow.js +3 -3
  39. package/dist/synthetic-shadow/umd/es2017/synthetic-shadow.js.map +1 -1
  40. package/dist/synthetic-shadow/umd/es2017/synthetic-shadow_debug.js +3 -3
  41. package/dist/synthetic-shadow/umd/es2017/synthetic-shadow_debug.js.map +1 -1
  42. package/dist/synthetic-shadow/umd/es5/synthetic-shadow.js +3 -3
  43. package/dist/synthetic-shadow/umd/es5/synthetic-shadow.js.map +1 -1
  44. package/dist/synthetic-shadow/umd/es5/synthetic-shadow_debug.js +3 -3
  45. package/dist/synthetic-shadow/umd/es5/synthetic-shadow_debug.js.map +1 -1
  46. package/dist/wire-service/esm/es2017/wire-service.js +2 -2
  47. package/dist/wire-service/esm/es2017/wire-service.js.map +1 -1
  48. package/dist/wire-service/iife/es2017/wire-service.js +2 -2
  49. package/dist/wire-service/iife/es2017/wire-service.js.map +1 -1
  50. package/dist/wire-service/iife/es2017/wire-service_debug.js +2 -2
  51. package/dist/wire-service/iife/es2017/wire-service_debug.js.map +1 -1
  52. package/dist/wire-service/iife/es5/wire-service.js +2 -2
  53. package/dist/wire-service/iife/es5/wire-service.js.map +1 -1
  54. package/dist/wire-service/iife/es5/wire-service_debug.js +2 -2
  55. package/dist/wire-service/iife/es5/wire-service_debug.js.map +1 -1
  56. package/dist/wire-service/umd/es2017/wire-service.js +2 -2
  57. package/dist/wire-service/umd/es2017/wire-service.js.map +1 -1
  58. package/dist/wire-service/umd/es2017/wire-service_debug.js +2 -2
  59. package/dist/wire-service/umd/es2017/wire-service_debug.js.map +1 -1
  60. package/dist/wire-service/umd/es5/wire-service.js +2 -2
  61. package/dist/wire-service/umd/es5/wire-service.js.map +1 -1
  62. package/dist/wire-service/umd/es5/wire-service_debug.js +2 -2
  63. package/dist/wire-service/umd/es5/wire-service_debug.js.map +1 -1
  64. package/package.json +7 -7
@@ -353,9 +353,9 @@
353
353
  * For full license text, see the LICENSE file in the repo root or https://opensource.org/licenses/MIT
354
354
  */
355
355
  // Increment whenever the LWC template compiler changes
356
- const LWC_VERSION = "2.42.0";
356
+ const LWC_VERSION = "2.43.0";
357
357
  const LWC_VERSION_COMMENT_REGEX = /\/\*LWC compiler v([\d.]+)\*\/\s*}/;
358
- /** version: 2.42.0 */
358
+ /** version: 2.43.0 */
359
359
 
360
360
  /**
361
361
  * Copyright (C) 2018 salesforce.com, inc.
@@ -433,7 +433,7 @@
433
433
  setFeatureFlag(name, value);
434
434
  }
435
435
  }
436
- /** version: 2.42.0 */
436
+ /** version: 2.43.0 */
437
437
 
438
438
  /**
439
439
  * Copyright (C) 2018 salesforce.com, inc.
@@ -497,7 +497,7 @@
497
497
  }
498
498
  }
499
499
  }
500
- /** version: 2.42.0 */
500
+ /** version: 2.43.0 */
501
501
 
502
502
  /*
503
503
  * Copyright (c) 2018, salesforce.com, inc.
@@ -3759,6 +3759,15 @@
3759
3759
  // the stylesheet, while internally, we have a replacement for it.
3760
3760
  stylesheet = getStyleOrSwappedStyle(stylesheet);
3761
3761
  }
3762
+ // Check that this stylesheet was generated by our compiler
3763
+ if (!isStylesheetRegistered(stylesheet)) {
3764
+ if (process.env.NODE_ENV !== 'production') {
3765
+ logWarnOnce(`TypeError: Unexpected LWC stylesheet content found for component <${vm.tagName.toLowerCase()}>.`);
3766
+ }
3767
+ report("UnexpectedStylesheetContent" /* ReportingEventId.UnexpectedStylesheetContent */, {
3768
+ tagName: vm.tagName.toLowerCase(),
3769
+ });
3770
+ }
3762
3771
  const isScopedCss = stylesheet[KEY__SCOPED_CSS];
3763
3772
  if (lwcRuntimeFlags.DISABLE_LIGHT_DOM_UNSCOPED_CSS &&
3764
3773
  !isScopedCss &&
@@ -3879,6 +3888,18 @@
3879
3888
  }
3880
3889
  return null;
3881
3890
  }
3891
+ const signedStylesheetSet = new Set();
3892
+ /**
3893
+ * INTERNAL: This function can only be invoked by compiled code. The compiler
3894
+ * will prevent this function from being imported by userland code.
3895
+ */
3896
+ function registerStylesheet(stylesheet) {
3897
+ signedStylesheetSet.add(stylesheet);
3898
+ return stylesheet;
3899
+ }
3900
+ function isStylesheetRegistered(stylesheet) {
3901
+ return signedStylesheetSet.has(stylesheet);
3902
+ }
3882
3903
 
3883
3904
  /*
3884
3905
  * Copyright (c) 2018, salesforce.com, inc.
@@ -5583,18 +5604,12 @@
5583
5604
  function setVMBeingRendered(vm) {
5584
5605
  vmBeingRendered = vm;
5585
5606
  }
5586
- function validateSlots(vm, html) {
5607
+ function validateSlots(vm) {
5587
5608
  assertNotProd(); // this method should never leak to prod
5588
5609
  const { cmpSlots } = vm;
5589
- const { slots = EmptyArray } = html;
5590
5610
  for (const slotName in cmpSlots.slotAssignments) {
5591
5611
  // eslint-disable-next-line @lwc/lwc-internal/no-production-assert
5592
5612
  assert.isTrue(isArray$1(cmpSlots.slotAssignments[slotName]), `Slots can only be set to an array, instead received ${toString$1(cmpSlots.slotAssignments[slotName])} for slot "${slotName}" in ${vm}.`);
5593
- if (slotName !== '' && ArrayIndexOf.call(slots, slotName) === -1) {
5594
- // TODO [#1297]: this should never really happen because the compiler should always validate
5595
- // eslint-disable-next-line @lwc/lwc-internal/no-production-assert
5596
- logError(`Ignoring unknown provided slot name "${slotName}" in ${vm}. Check for a typo on the slot attribute.`, vm);
5597
- }
5598
5613
  }
5599
5614
  }
5600
5615
  function validateLightDomTemplate(template, vm) {
@@ -5713,7 +5728,7 @@
5713
5728
  }
5714
5729
  if (process.env.NODE_ENV !== 'production') {
5715
5730
  // validating slots in every rendering since the allocated content might change over time
5716
- validateSlots(vm, html);
5731
+ validateSlots(vm);
5717
5732
  // add the VM to the list of host VMs that can be re-rendered if html is swapped
5718
5733
  setActiveVM(vm);
5719
5734
  }
@@ -6696,7 +6711,7 @@
6696
6711
  const vm = findVM(elm);
6697
6712
  if (process.env.NODE_ENV !== 'production') {
6698
6713
  logWarnOnce(`Element <${elm.tagName.toLowerCase()}> ` +
6699
- (isUndefined$1(vm) ? '' : `owned by <${vm.elm.tagName.toLowerCase()}> `) +
6714
+ (isUndefined$1(vm) ? '' : `owned by <${vm.tagName.toLowerCase()}> `) +
6700
6715
  `uses non-standard property "${prop}". This will be removed in a future version of LWC. ` +
6701
6716
  `See https://sfdc.co/deprecated-aria`);
6702
6717
  }
@@ -7065,7 +7080,7 @@
7065
7080
  function validateClassAttr(vnode, elm, renderer) {
7066
7081
  const { data, owner } = vnode;
7067
7082
  let { className, classMap } = data;
7068
- const { getProperty, getClassList } = renderer;
7083
+ const { getProperty, getClassList, getAttribute } = renderer;
7069
7084
  const scopedToken = getScopeTokenClass(owner);
7070
7085
  const stylesheetTokenHost = isVCustomElement(vnode) ? getStylesheetTokenHost(vnode) : null;
7071
7086
  // Classnames for scoped CSS are added directly to the DOM during rendering,
@@ -7095,11 +7110,12 @@
7095
7110
  }
7096
7111
  let nodesAreCompatible = true;
7097
7112
  let readableVnodeClassname;
7098
- const elmClassName = getProperty(elm, 'className');
7113
+ const elmClassName = getAttribute(elm, 'class');
7099
7114
  if (!isUndefined$1(className) && String(className) !== elmClassName) {
7100
7115
  // className is used when class is bound to an expr.
7101
7116
  nodesAreCompatible = false;
7102
- readableVnodeClassname = className;
7117
+ // stringify for pretty-printing
7118
+ readableVnodeClassname = JSON.stringify(className);
7103
7119
  }
7104
7120
  else if (!isUndefined$1(classMap)) {
7105
7121
  // classMap is used when class is set to static value.
@@ -7112,19 +7128,20 @@
7112
7128
  nodesAreCompatible = false;
7113
7129
  }
7114
7130
  }
7115
- readableVnodeClassname = computedClassName.trim();
7131
+ // stringify for pretty-printing
7132
+ readableVnodeClassname = JSON.stringify(computedClassName.trim());
7116
7133
  if (classList.length > keys(classMap).length) {
7117
7134
  nodesAreCompatible = false;
7118
7135
  }
7119
7136
  }
7120
- else if (isUndefined$1(className) && elmClassName !== '') {
7137
+ else if (isUndefined$1(className) && !isNull(elmClassName)) {
7121
7138
  // SSR contains a className but client-side VDOM does not
7122
7139
  nodesAreCompatible = false;
7123
- readableVnodeClassname = '';
7140
+ readableVnodeClassname = '""';
7124
7141
  }
7125
7142
  if (!nodesAreCompatible) {
7126
7143
  if (process.env.NODE_ENV !== 'production') {
7127
- logError(`Mismatch hydrating element <${getProperty(elm, 'tagName').toLowerCase()}>: attribute "class" has different values, expected "${readableVnodeClassname}" but found "${elmClassName}"`, vnode.owner);
7144
+ logError(`Mismatch hydrating element <${getProperty(elm, 'tagName').toLowerCase()}>: attribute "class" has different values, expected ${readableVnodeClassname} but found ${JSON.stringify(elmClassName)}`, vnode.owner);
7128
7145
  }
7129
7146
  }
7130
7147
  return nodesAreCompatible;
@@ -7470,7 +7487,7 @@
7470
7487
  }
7471
7488
  return getReadOnlyProxy(obj);
7472
7489
  }
7473
- /* version: 2.42.0 */
7490
+ /* version: 2.43.0 */
7474
7491
 
7475
7492
  /*
7476
7493
  * Copyright (c) 2018, salesforce.com, inc.
@@ -7898,7 +7915,7 @@
7898
7915
  function isNull(obj) {
7899
7916
  return obj === null;
7900
7917
  }
7901
- /** version: 2.42.0 */
7918
+ /** version: 2.43.0 */
7902
7919
 
7903
7920
  /*
7904
7921
  * Copyright (c) 2023, salesforce.com, inc.
@@ -8517,7 +8534,7 @@
8517
8534
  });
8518
8535
  }));
8519
8536
  }
8520
- /* version: 2.42.0 */
8537
+ /* version: 2.43.0 */
8521
8538
 
8522
8539
  exports.LightningElement = LightningElement;
8523
8540
  exports.__unstable__ProfilerControl = profilerControl;
@@ -8538,6 +8555,7 @@
8538
8555
  exports.register = register;
8539
8556
  exports.registerComponent = registerComponent;
8540
8557
  exports.registerDecorators = registerDecorators;
8558
+ exports.registerStylesheet = registerStylesheet;
8541
8559
  exports.registerTemplate = registerTemplate;
8542
8560
  exports.renderer = renderer;
8543
8561
  exports.rendererFactory = rendererFactory;