lwc 2.14.2 → 2.17.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 +155 -13
  2. package/dist/engine-dom/iife/es2017/engine-dom.js +156 -12
  3. package/dist/engine-dom/iife/es2017/engine-dom.min.js +1 -1
  4. package/dist/engine-dom/iife/es2017/engine-dom_debug.js +147 -10
  5. package/dist/engine-dom/iife/es5/engine-dom.js +268 -40
  6. package/dist/engine-dom/iife/es5/engine-dom.min.js +1 -1
  7. package/dist/engine-dom/iife/es5/engine-dom_debug.js +253 -38
  8. package/dist/engine-dom/umd/es2017/engine-dom.js +156 -12
  9. package/dist/engine-dom/umd/es2017/engine-dom.min.js +1 -1
  10. package/dist/engine-dom/umd/es2017/engine-dom_debug.js +147 -10
  11. package/dist/engine-dom/umd/es5/engine-dom.js +268 -40
  12. package/dist/engine-dom/umd/es5/engine-dom.min.js +1 -1
  13. package/dist/engine-dom/umd/es5/engine-dom_debug.js +253 -38
  14. package/dist/engine-server/commonjs/es2017/engine-server.js +129 -29
  15. package/dist/engine-server/commonjs/es2017/engine-server.min.js +1 -1
  16. package/dist/engine-server/esm/es2017/engine-server.js +128 -30
  17. package/dist/synthetic-shadow/esm/es2017/synthetic-shadow.js +24 -4
  18. package/dist/synthetic-shadow/iife/es2017/synthetic-shadow.js +24 -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 +24 -4
  21. package/dist/synthetic-shadow/iife/es5/synthetic-shadow.js +29 -3
  22. package/dist/synthetic-shadow/iife/es5/synthetic-shadow.min.js +2 -2
  23. package/dist/synthetic-shadow/iife/es5/synthetic-shadow_debug.js +29 -3
  24. package/dist/synthetic-shadow/umd/es2017/synthetic-shadow.js +24 -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 +24 -4
  27. package/dist/synthetic-shadow/umd/es5/synthetic-shadow.js +29 -3
  28. package/dist/synthetic-shadow/umd/es5/synthetic-shadow.min.js +2 -2
  29. package/dist/synthetic-shadow/umd/es5/synthetic-shadow_debug.js +29 -3
  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
@@ -292,6 +292,7 @@ var LWC = (function (exports) {
292
292
 
293
293
  var KEY__IS_NATIVE_SHADOW_ROOT_DEFINED = '$isNativeShadowRootDefined$';
294
294
  var KEY__SHADOW_RESOLVER = '$shadowResolver$';
295
+ var KEY__SHADOW_STATIC = '$shadowStaticNode$';
295
296
  var KEY__SHADOW_TOKEN = '$shadowToken$';
296
297
  var KEY__SYNTHETIC_MODE = '$$lwc-synthetic-mode';
297
298
  var KEY__SCOPED_CSS = '$scoped$';
@@ -347,7 +348,7 @@ var LWC = (function (exports) {
347
348
  var XML_NAMESPACE = 'http://www.w3.org/XML/1998/namespace';
348
349
  var SVG_NAMESPACE = 'http://www.w3.org/2000/svg';
349
350
  var XLINK_NAMESPACE = 'http://www.w3.org/1999/xlink';
350
- /** version: 2.14.2 */
351
+ /** version: 2.17.0 */
351
352
 
352
353
  /*
353
354
  * Copyright (c) 2018, salesforce.com, inc.
@@ -3295,6 +3296,12 @@ var LWC = (function (exports) {
3295
3296
  patchComment(n1, n2, renderer);
3296
3297
  break;
3297
3298
 
3299
+ case 4
3300
+ /* Static */
3301
+ :
3302
+ n2.elm = n1.elm;
3303
+ break;
3304
+
3298
3305
  case 2
3299
3306
  /* Element */
3300
3307
  :
@@ -3327,6 +3334,13 @@ var LWC = (function (exports) {
3327
3334
  mountComment(node, parent, anchor, renderer);
3328
3335
  break;
3329
3336
 
3337
+ case 4
3338
+ /* Static */
3339
+ :
3340
+ // VStatic cannot have a custom renderer associated to them, using owner's renderer
3341
+ mountStatic(node, parent, anchor, renderer);
3342
+ break;
3343
+
3330
3344
  case 2
3331
3345
  /* Element */
3332
3346
  :
@@ -3397,6 +3411,29 @@ var LWC = (function (exports) {
3397
3411
  patchChildren(n1.children, n2.children, elm, renderer);
3398
3412
  }
3399
3413
 
3414
+ function mountStatic(vnode, parent, anchor, renderer) {
3415
+ var owner = vnode.owner;
3416
+ var cloneNode = renderer.cloneNode,
3417
+ isSyntheticShadowDefined = renderer.isSyntheticShadowDefined;
3418
+ var elm = vnode.elm = cloneNode(vnode.fragment, true);
3419
+ linkNodeToShadow(elm, owner, renderer); // Marks this node as Static to propagate the shadow resolver. must happen after elm is assigned to the proper shadow
3420
+
3421
+ var renderMode = owner.renderMode,
3422
+ shadowMode = owner.shadowMode;
3423
+
3424
+ if (isSyntheticShadowDefined) {
3425
+ if (shadowMode === 1
3426
+ /* Synthetic */
3427
+ || renderMode === 0
3428
+ /* Light */
3429
+ ) {
3430
+ elm[KEY__SHADOW_STATIC] = true;
3431
+ }
3432
+ }
3433
+
3434
+ insertNode(elm, parent, anchor, renderer);
3435
+ }
3436
+
3400
3437
  function mountCustomElement(vnode, parent, anchor, renderer) {
3401
3438
  var sel = vnode.sel,
3402
3439
  owner = vnode.owner;
@@ -3937,6 +3974,20 @@ var LWC = (function (exports) {
3937
3974
 
3938
3975
  function addVNodeToChildLWC(vnode) {
3939
3976
  ArrayPush$1.call(getVMBeingRendered().velements, vnode);
3977
+ } // [st]atic node
3978
+
3979
+
3980
+ function st(fragment, key) {
3981
+ return {
3982
+ type: 4
3983
+ /* Static */
3984
+ ,
3985
+ sel: undefined,
3986
+ key: key,
3987
+ elm: undefined,
3988
+ fragment: fragment,
3989
+ owner: getVMBeingRendered()
3990
+ };
3940
3991
  } // [h]tml node
3941
3992
 
3942
3993
 
@@ -4303,6 +4354,7 @@ var LWC = (function (exports) {
4303
4354
  co: co,
4304
4355
  dc: dc,
4305
4356
  ti: ti,
4357
+ st: st,
4306
4358
  gid: gid,
4307
4359
  fid: fid,
4308
4360
  shc: shc
@@ -4507,8 +4559,7 @@ var LWC = (function (exports) {
4507
4559
  // This works in the client, because the stylesheets are created, and cached in the VM
4508
4560
  // the first time the VM renders.
4509
4561
  // native shadow or light DOM, SSR
4510
- var combinedStylesheetContent = ArrayJoin.call(stylesheets, '\n');
4511
- return createInlineStyleVNode(combinedStylesheetContent);
4562
+ return ArrayMap.call(stylesheets, createInlineStyleVNode);
4512
4563
  } else {
4513
4564
  // native shadow or light DOM, DOM renderer
4514
4565
  var root = getNearestNativeShadowComponent(vm); // null root means a global style
@@ -4620,6 +4671,91 @@ var LWC = (function (exports) {
4620
4671
  }
4621
4672
  }
4622
4673
 
4674
+ function buildParseFragmentFn(createFragmentFn) {
4675
+ return function (strings) {
4676
+ for (var _len5 = arguments.length, keys = new Array(_len5 > 1 ? _len5 - 1 : 0), _key3 = 1; _key3 < _len5; _key3++) {
4677
+ keys[_key3 - 1] = arguments[_key3];
4678
+ }
4679
+
4680
+ var cache = create(null);
4681
+ return function () {
4682
+ var _getVMBeingRendered = getVMBeingRendered(),
4683
+ _getVMBeingRendered$c = _getVMBeingRendered.context,
4684
+ hasScopedStyles = _getVMBeingRendered$c.hasScopedStyles,
4685
+ stylesheetToken = _getVMBeingRendered$c.stylesheetToken,
4686
+ shadowMode = _getVMBeingRendered.shadowMode,
4687
+ renderer = _getVMBeingRendered.renderer;
4688
+
4689
+ var hasStyleToken = !isUndefined$1(stylesheetToken);
4690
+ var isSyntheticShadow = shadowMode === 1
4691
+ /* Synthetic */
4692
+ ;
4693
+ var cacheKey = 0;
4694
+
4695
+ if (hasStyleToken && hasScopedStyles) {
4696
+ cacheKey |= 1
4697
+ /* HAS_SCOPED_STYLE */
4698
+ ;
4699
+ }
4700
+
4701
+ if (hasStyleToken && isSyntheticShadow) {
4702
+ cacheKey |= 2
4703
+ /* SHADOW_MODE_SYNTHETIC */
4704
+ ;
4705
+ }
4706
+
4707
+ if (!isUndefined$1(cache[cacheKey])) {
4708
+ return cache[cacheKey];
4709
+ }
4710
+
4711
+ var classToken = hasScopedStyles && hasStyleToken ? ' ' + stylesheetToken : '';
4712
+ var classAttrToken = hasScopedStyles && hasStyleToken ? " class=\"".concat(stylesheetToken, "\"") : '';
4713
+ var attrToken = hasStyleToken && isSyntheticShadow ? ' ' + stylesheetToken : '';
4714
+ var htmlFragment = '';
4715
+
4716
+ for (var _i19 = 0, n = keys.length; _i19 < n; _i19++) {
4717
+ switch (keys[_i19]) {
4718
+ case 0:
4719
+ // styleToken in existing class attr
4720
+ htmlFragment += strings[_i19] + classToken;
4721
+ break;
4722
+
4723
+ case 1:
4724
+ // styleToken for added class attr
4725
+ htmlFragment += strings[_i19] + classAttrToken;
4726
+ break;
4727
+
4728
+ case 2:
4729
+ // styleToken as attr
4730
+ htmlFragment += strings[_i19] + attrToken;
4731
+ break;
4732
+
4733
+ case 3:
4734
+ // ${1}${2}
4735
+ htmlFragment += strings[_i19] + classAttrToken + attrToken;
4736
+ break;
4737
+ }
4738
+ }
4739
+
4740
+ htmlFragment += strings[strings.length - 1];
4741
+ cache[cacheKey] = createFragmentFn(htmlFragment, renderer);
4742
+ return cache[cacheKey];
4743
+ };
4744
+ };
4745
+ } // Note: at the moment this code executes, we don't have a renderer yet.
4746
+
4747
+
4748
+ var parseFragment = buildParseFragmentFn(function (html, renderer) {
4749
+ var createFragment = renderer.createFragment;
4750
+ return createFragment(html);
4751
+ });
4752
+ var parseSVGFragment = buildParseFragmentFn(function (html, renderer) {
4753
+ var createFragment = renderer.createFragment,
4754
+ getFirstChild = renderer.getFirstChild;
4755
+ var fragment = createFragment('<svg>' + html + '</svg>');
4756
+ return getFirstChild(fragment);
4757
+ });
4758
+
4623
4759
  function evaluateTemplate(vm, html) {
4624
4760
 
4625
4761
  var isUpdatingTemplateInception = isUpdatingTemplate;
@@ -4667,7 +4803,7 @@ var LWC = (function (exports) {
4667
4803
  // re-rendering.
4668
4804
 
4669
4805
  var stylesheetsContent = getStylesheetsContent(vm, html);
4670
- context.styleVNode = stylesheetsContent.length === 0 ? null : createStylesheet(vm, stylesheetsContent);
4806
+ context.styleVNodes = stylesheetsContent.length === 0 ? null : createStylesheet(vm, stylesheetsContent);
4671
4807
  }
4672
4808
 
4673
4809
  if ("production" !== 'production') ; // right before producing the vnodes, we clear up all internal references
@@ -4678,10 +4814,10 @@ var LWC = (function (exports) {
4678
4814
 
4679
4815
  isUpdatingTemplate = true;
4680
4816
  vnodes = html.call(undefined, api, component, cmpSlots, context.tplCache);
4681
- var styleVNode = context.styleVNode;
4817
+ var styleVNodes = context.styleVNodes;
4682
4818
 
4683
- if (!isNull(styleVNode)) {
4684
- ArrayUnshift.call(vnodes, styleVNode);
4819
+ if (!isNull(styleVNodes)) {
4820
+ ArrayUnshift.apply(vnodes, styleVNodes);
4685
4821
  }
4686
4822
  });
4687
4823
  }, function () {
@@ -4700,8 +4836,8 @@ var LWC = (function (exports) {
4700
4836
  var stylesheets = template.stylesheets;
4701
4837
 
4702
4838
  if (!isUndefined$1(stylesheets)) {
4703
- for (var _i19 = 0; _i19 < stylesheets.length; _i19++) {
4704
- if (isTrue(stylesheets[_i19][KEY__SCOPED_CSS])) {
4839
+ for (var _i20 = 0; _i20 < stylesheets.length; _i20++) {
4840
+ if (isTrue(stylesheets[_i20][KEY__SCOPED_CSS])) {
4705
4841
  return true;
4706
4842
  }
4707
4843
  }
@@ -4890,8 +5026,8 @@ var LWC = (function (exports) {
4890
5026
 
4891
5027
  function register(service) {
4892
5028
 
4893
- for (var _i20 = 0; _i20 < hooks.length; ++_i20) {
4894
- var hookName = hooks[_i20];
5029
+ for (var _i21 = 0; _i21 < hooks.length; ++_i21) {
5030
+ var hookName = hooks[_i21];
4895
5031
 
4896
5032
  if (hookName in service) {
4897
5033
  var l = Services[hookName];
@@ -4911,8 +5047,8 @@ var LWC = (function (exports) {
4911
5047
  def = vm.def,
4912
5048
  context = vm.context;
4913
5049
 
4914
- for (var _i21 = 0, len = cbs.length; _i21 < len; ++_i21) {
4915
- cbs[_i21].call(undefined, component, {}, def, context);
5050
+ for (var _i22 = 0, len = cbs.length; _i22 < len; ++_i22) {
5051
+ cbs[_i22].call(undefined, component, {}, def, context);
4916
5052
  }
4917
5053
  }
4918
5054
  /*
@@ -5050,7 +5186,7 @@ var LWC = (function (exports) {
5050
5186
  hasTokenInClass: undefined,
5051
5187
  hasTokenInAttribute: undefined,
5052
5188
  hasScopedStyles: undefined,
5053
- styleVNode: null,
5189
+ styleVNodes: null,
5054
5190
  tplCache: EmptyObject,
5055
5191
  wiredConnecting: EmptyArray,
5056
5192
  wiredDisconnecting: EmptyArray
@@ -5244,19 +5380,19 @@ var LWC = (function (exports) {
5244
5380
  });
5245
5381
  rehydrateQueue = []; // reset to a new queue
5246
5382
 
5247
- for (var _i22 = 0, len = vms.length; _i22 < len; _i22 += 1) {
5248
- var vm = vms[_i22];
5383
+ for (var _i23 = 0, len = vms.length; _i23 < len; _i23 += 1) {
5384
+ var vm = vms[_i23];
5249
5385
 
5250
5386
  try {
5251
5387
  rehydrate(vm);
5252
5388
  } catch (error) {
5253
- if (_i22 + 1 < len) {
5389
+ if (_i23 + 1 < len) {
5254
5390
  // pieces of the queue are still pending to be rehydrated, those should have priority
5255
5391
  if (rehydrateQueue.length === 0) {
5256
5392
  addCallbackToNextTick(flushRehydrationQueue);
5257
5393
  }
5258
5394
 
5259
- ArrayUnshift.apply(rehydrateQueue, ArraySlice.call(vms, _i22 + 1));
5395
+ ArrayUnshift.apply(rehydrateQueue, ArraySlice.call(vms, _i23 + 1));
5260
5396
  } // we need to end the measure before throwing.
5261
5397
 
5262
5398
 
@@ -5355,8 +5491,8 @@ var LWC = (function (exports) {
5355
5491
  var vCustomElementCollection = vm.velements; // Reporting disconnection for every child in inverse order since they are
5356
5492
  // inserted in reserved order.
5357
5493
 
5358
- for (var _i23 = vCustomElementCollection.length - 1; _i23 >= 0; _i23 -= 1) {
5359
- var elm = vCustomElementCollection[_i23].elm; // There are two cases where the element could be undefined:
5494
+ for (var _i24 = vCustomElementCollection.length - 1; _i24 >= 0; _i24 -= 1) {
5495
+ var elm = vCustomElementCollection[_i24].elm; // There are two cases where the element could be undefined:
5360
5496
  // * when there is an error during the construction phase, and an error
5361
5497
  // boundary picks it, there is a possibility that the VCustomElement
5362
5498
  // is not properly initialized, and therefore is should be ignored.
@@ -5390,8 +5526,8 @@ var LWC = (function (exports) {
5390
5526
 
5391
5527
 
5392
5528
  function recursivelyDisconnectChildren(vnodes) {
5393
- for (var _i24 = 0, len = vnodes.length; _i24 < len; _i24 += 1) {
5394
- var vnode = vnodes[_i24];
5529
+ for (var _i25 = 0, len = vnodes.length; _i25 < len; _i25 += 1) {
5530
+ var vnode = vnodes[_i25];
5395
5531
 
5396
5532
  if (!isNull(vnode) && !isUndefined$1(vnode.elm)) {
5397
5533
  switch (vnode.type) {
@@ -5423,8 +5559,8 @@ var LWC = (function (exports) {
5423
5559
  renderRoot = vm.renderRoot,
5424
5560
  remove = vm.renderer.remove;
5425
5561
 
5426
- for (var _i25 = 0, len = children.length; _i25 < len; _i25++) {
5427
- var child = children[_i25];
5562
+ for (var _i26 = 0, len = children.length; _i26 < len; _i26++) {
5563
+ var child = children[_i26];
5428
5564
 
5429
5565
  if (!isNull(child) && !isUndefined$1(child.elm)) {
5430
5566
  remove(child.elm, renderRoot);
@@ -5777,8 +5913,8 @@ var LWC = (function (exports) {
5777
5913
  function connectWireAdapters(vm) {
5778
5914
  var wiredConnecting = vm.context.wiredConnecting;
5779
5915
 
5780
- for (var _i26 = 0, len = wiredConnecting.length; _i26 < len; _i26 += 1) {
5781
- wiredConnecting[_i26]();
5916
+ for (var _i27 = 0, len = wiredConnecting.length; _i27 < len; _i27 += 1) {
5917
+ wiredConnecting[_i27]();
5782
5918
  }
5783
5919
  }
5784
5920
 
@@ -5786,8 +5922,8 @@ var LWC = (function (exports) {
5786
5922
  var wiredDisconnecting = vm.context.wiredDisconnecting;
5787
5923
  runWithBoundaryProtection(vm, vm, noop, function () {
5788
5924
  // job
5789
- for (var _i27 = 0, len = wiredDisconnecting.length; _i27 < len; _i27 += 1) {
5790
- wiredDisconnecting[_i27]();
5925
+ for (var _i28 = 0, len = wiredDisconnecting.length; _i28 < len; _i28 += 1) {
5926
+ wiredDisconnecting[_i28]();
5791
5927
  }
5792
5928
  }, noop);
5793
5929
  }
@@ -5907,6 +6043,13 @@ var LWC = (function (exports) {
5907
6043
  hydratedNode = hydrateComment(node, vnode, renderer);
5908
6044
  break;
5909
6045
 
6046
+ case 4
6047
+ /* Static */
6048
+ :
6049
+ // VStatic are cacheable and cannot have custom renderer associated to them
6050
+ hydratedNode = hydrateStaticElement(node, vnode, renderer);
6051
+ break;
6052
+
5910
6053
  case 2
5911
6054
  /* Element */
5912
6055
  :
@@ -5953,6 +6096,15 @@ var LWC = (function (exports) {
5953
6096
  return node;
5954
6097
  }
5955
6098
 
6099
+ function hydrateStaticElement(elm, vnode, renderer) {
6100
+ if (!areCompatibleNodes(vnode.fragment, elm, vnode, renderer)) {
6101
+ return handleMismatch(elm, vnode, renderer);
6102
+ }
6103
+
6104
+ vnode.elm = elm;
6105
+ return elm;
6106
+ }
6107
+
5956
6108
  function hydrateElement(elm, vnode, renderer) {
5957
6109
  if (!hasCorrectNodeType(vnode, elm, 1
5958
6110
  /* ELEMENT */
@@ -6035,8 +6187,8 @@ var LWC = (function (exports) {
6035
6187
  var anchor = null;
6036
6188
  var renderer = owner.renderer;
6037
6189
 
6038
- for (var _i28 = 0; _i28 < children.length; _i28++) {
6039
- var childVnode = children[_i28];
6190
+ for (var _i29 = 0; _i29 < children.length; _i29++) {
6191
+ var childVnode = children[_i29];
6040
6192
 
6041
6193
  if (!isNull(childVnode)) {
6042
6194
  if (nextNode) {
@@ -6113,8 +6265,8 @@ var LWC = (function (exports) {
6113
6265
  var nodesAreCompatible = true; // Validate attributes, though we could always recovery from those by running the update mods.
6114
6266
  // Note: intentionally ONLY matching vnodes.attrs to elm.attrs, in case SSR is adding extra attributes.
6115
6267
 
6116
- for (var _i29 = 0, _Object$entries = Object.entries(attrs); _i29 < _Object$entries.length; _i29++) {
6117
- var _Object$entries$_i = _slicedToArray(_Object$entries[_i29], 2),
6268
+ for (var _i30 = 0, _Object$entries = Object.entries(attrs); _i30 < _Object$entries.length; _i30++) {
6269
+ var _Object$entries$_i = _slicedToArray(_Object$entries[_i30], 2),
6118
6270
  attrName = _Object$entries$_i[0],
6119
6271
  attrValue = _Object$entries$_i[1];
6120
6272
 
@@ -6180,8 +6332,8 @@ var LWC = (function (exports) {
6180
6332
  var parsedVnodeStyle = parseStyleText(elmStyle);
6181
6333
  var expectedStyle = []; // styleMap is used when style is set to static value.
6182
6334
 
6183
- for (var _i30 = 0, n = styleDecls.length; _i30 < n; _i30++) {
6184
- var _styleDecls$_i2 = _slicedToArray(styleDecls[_i30], 3),
6335
+ for (var _i31 = 0, n = styleDecls.length; _i31 < n; _i31++) {
6336
+ var _styleDecls$_i2 = _slicedToArray(styleDecls[_i31], 3),
6185
6337
  prop = _styleDecls$_i2[0],
6186
6338
  value = _styleDecls$_i2[1],
6187
6339
  important = _styleDecls$_i2[2];
@@ -6207,6 +6359,57 @@ var LWC = (function (exports) {
6207
6359
 
6208
6360
  return nodesAreCompatible;
6209
6361
  }
6362
+
6363
+ function areCompatibleNodes(client, ssr, vnode, renderer) {
6364
+ var getProperty = renderer.getProperty,
6365
+ getAttribute = renderer.getAttribute;
6366
+
6367
+ if (getProperty(client, 'nodeType') === 3
6368
+ /* TEXT */
6369
+ ) {
6370
+ if (!hasCorrectNodeType(vnode, ssr, 3
6371
+ /* TEXT */
6372
+ , renderer)) {
6373
+ return false;
6374
+ }
6375
+
6376
+ return getProperty(client, 'nodeValue') === getProperty(ssr, 'nodeValue');
6377
+ }
6378
+
6379
+ if (getProperty(client, 'nodeType') === 8
6380
+ /* COMMENT */
6381
+ ) {
6382
+ if (!hasCorrectNodeType(vnode, ssr, 8
6383
+ /* COMMENT */
6384
+ , renderer)) {
6385
+ return false;
6386
+ }
6387
+
6388
+ return getProperty(client, 'nodeValue') === getProperty(ssr, 'nodeValue');
6389
+ }
6390
+
6391
+ if (!hasCorrectNodeType(vnode, ssr, 1
6392
+ /* ELEMENT */
6393
+ , renderer)) {
6394
+ return false;
6395
+ }
6396
+
6397
+ var isCompatibleElements = true;
6398
+
6399
+ if (getProperty(client, 'tagName') !== getProperty(ssr, 'tagName')) {
6400
+
6401
+ return false;
6402
+ }
6403
+
6404
+ var clientAttrsNames = getProperty(client, 'getAttributeNames').call(client);
6405
+ clientAttrsNames.forEach(function (attrName) {
6406
+ if (getAttribute(client, attrName) !== getAttribute(ssr, attrName)) {
6407
+ logError("Mismatch hydrating element <".concat(getProperty(client, 'tagName').toLowerCase(), ">: attribute \"").concat(attrName, "\" has different values, expected \"").concat(getAttribute(client, attrName), "\" but found \"").concat(getAttribute(ssr, attrName), "\""), vnode.owner);
6408
+ isCompatibleElements = false;
6409
+ }
6410
+ });
6411
+ return isCompatibleElements;
6412
+ }
6210
6413
  /*
6211
6414
  * Copyright (c) 2018, salesforce.com, inc.
6212
6415
  * All rights reserved.
@@ -6254,7 +6457,7 @@ var LWC = (function (exports) {
6254
6457
 
6255
6458
  return ctor;
6256
6459
  }
6257
- /* version: 2.14.2 */
6460
+ /* version: 2.17.0 */
6258
6461
 
6259
6462
  /*
6260
6463
  * Copyright (c) 2018, salesforce.com, inc.
@@ -6508,6 +6711,14 @@ var LWC = (function (exports) {
6508
6711
  var isNativeShadowDefined = _globalThis[KEY__IS_NATIVE_SHADOW_ROOT_DEFINED];
6509
6712
  var isSyntheticShadowDefined = hasOwnProperty$1.call(Element.prototype, KEY__SHADOW_TOKEN);
6510
6713
 
6714
+ function cloneNode(node, deep) {
6715
+ return node.cloneNode(deep);
6716
+ }
6717
+
6718
+ function createFragment(html) {
6719
+ return document.createRange().createContextualFragment(html).firstChild;
6720
+ }
6721
+
6511
6722
  function createElement$1(tagName, namespace) {
6512
6723
  return isUndefined$1(namespace) ? document.createElement(tagName) : document.createElementNS(namespace, tagName);
6513
6724
  }
@@ -6652,6 +6863,8 @@ var LWC = (function (exports) {
6652
6863
  isHydrating: isHydrating,
6653
6864
  insert: insert,
6654
6865
  remove: remove,
6866
+ cloneNode: cloneNode,
6867
+ createFragment: createFragment,
6655
6868
  createElement: createElement$1,
6656
6869
  createText: createText,
6657
6870
  createComment: createComment,
@@ -6716,8 +6929,8 @@ var LWC = (function (exports) {
6716
6929
  hydrated: true
6717
6930
  });
6718
6931
 
6719
- for (var _i31 = 0, _Object$entries2 = Object.entries(props); _i31 < _Object$entries2.length; _i31++) {
6720
- var _Object$entries2$_i = _slicedToArray(_Object$entries2[_i31], 2),
6932
+ for (var _i32 = 0, _Object$entries2 = Object.entries(props); _i32 < _Object$entries2.length; _i32++) {
6933
+ var _Object$entries2$_i = _slicedToArray(_Object$entries2[_i32], 2),
6721
6934
  key = _Object$entries2$_i[0],
6722
6935
  value = _Object$entries2$_i[1];
6723
6936
 
@@ -7042,7 +7255,7 @@ var LWC = (function (exports) {
7042
7255
  });
7043
7256
  freeze(LightningElement);
7044
7257
  seal(LightningElement.prototype);
7045
- /* version: 2.14.2 */
7258
+ /* version: 2.17.0 */
7046
7259
 
7047
7260
  exports.LightningElement = LightningElement;
7048
7261
  exports.__unstable__ProfilerControl = profilerControl;
@@ -7056,6 +7269,8 @@ var LWC = (function (exports) {
7056
7269
  exports.hydrateComponent = hydrateComponent;
7057
7270
  exports.isComponentConstructor = isComponentConstructor;
7058
7271
  exports.isNodeFromTemplate = isNodeShadowed;
7272
+ exports.parseFragment = parseFragment;
7273
+ exports.parseSVGFragment = parseSVGFragment;
7059
7274
  exports.readonly = readonly;
7060
7275
  exports.register = register;
7061
7276
  exports.registerComponent = registerComponent;