lwc 2.6.1 → 2.7.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 (41) hide show
  1. package/dist/engine-dom/esm/es2017/engine-dom.js +590 -394
  2. package/dist/engine-dom/iife/es2017/engine-dom.js +590 -394
  3. package/dist/engine-dom/iife/es2017/engine-dom.min.js +1 -9
  4. package/dist/engine-dom/iife/es2017/engine-dom_debug.js +564 -370
  5. package/dist/engine-dom/iife/es5/engine-dom.js +648 -351
  6. package/dist/engine-dom/iife/es5/engine-dom.min.js +1 -9
  7. package/dist/engine-dom/iife/es5/engine-dom_debug.js +616 -327
  8. package/dist/engine-dom/umd/es2017/engine-dom.js +590 -394
  9. package/dist/engine-dom/umd/es2017/engine-dom.min.js +1 -9
  10. package/dist/engine-dom/umd/es2017/engine-dom_debug.js +564 -370
  11. package/dist/engine-dom/umd/es5/engine-dom.js +648 -351
  12. package/dist/engine-dom/umd/es5/engine-dom.min.js +1 -9
  13. package/dist/engine-dom/umd/es5/engine-dom_debug.js +616 -327
  14. package/dist/engine-server/commonjs/es2017/engine-server.js +670 -472
  15. package/dist/engine-server/commonjs/es2017/engine-server.min.js +1 -9
  16. package/dist/engine-server/esm/es2017/engine-server.js +670 -472
  17. package/dist/synthetic-shadow/esm/es2017/synthetic-shadow.js +74 -9
  18. package/dist/synthetic-shadow/iife/es2017/synthetic-shadow.js +74 -9
  19. package/dist/synthetic-shadow/iife/es2017/synthetic-shadow.min.js +2 -2
  20. package/dist/synthetic-shadow/iife/es2017/synthetic-shadow_debug.js +74 -9
  21. package/dist/synthetic-shadow/iife/es5/synthetic-shadow.js +85 -12
  22. package/dist/synthetic-shadow/iife/es5/synthetic-shadow.min.js +2 -2
  23. package/dist/synthetic-shadow/iife/es5/synthetic-shadow_debug.js +85 -12
  24. package/dist/synthetic-shadow/umd/es2017/synthetic-shadow.js +74 -9
  25. package/dist/synthetic-shadow/umd/es2017/synthetic-shadow.min.js +2 -2
  26. package/dist/synthetic-shadow/umd/es2017/synthetic-shadow_debug.js +74 -9
  27. package/dist/synthetic-shadow/umd/es5/synthetic-shadow.js +85 -12
  28. package/dist/synthetic-shadow/umd/es5/synthetic-shadow.min.js +2 -2
  29. package/dist/synthetic-shadow/umd/es5/synthetic-shadow_debug.js +85 -12
  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 +11 -11
  34. package/dist/wire-service/iife/es5/wire-service.min.js +1 -1
  35. package/dist/wire-service/iife/es5/wire-service_debug.js +11 -11
  36. package/dist/wire-service/umd/es2017/wire-service.js +2 -2
  37. package/dist/wire-service/umd/es2017/wire-service_debug.js +2 -2
  38. package/dist/wire-service/umd/es5/wire-service.js +11 -11
  39. package/dist/wire-service/umd/es5/wire-service.min.js +1 -1
  40. package/dist/wire-service/umd/es5/wire-service_debug.js +11 -11
  41. package/package.json +8 -8
@@ -335,7 +335,7 @@ function htmlPropertyToAttribute(propName) {
335
335
  CACHED_PROPERTY_ATTRIBUTE_MAPPING.set(propName, attributeName);
336
336
  return attributeName;
337
337
  }
338
- /** version: 2.6.1 */
338
+ /** version: 2.7.2 */
339
339
 
340
340
  /*
341
341
  * Copyright (c) 2020, salesforce.com, inc.
@@ -348,25 +348,28 @@ function htmlPropertyToAttribute(propName) {
348
348
  * The following constructor might be used in either the constructor or the connectedCallback. In
349
349
  * order to ensure that the component evaluates, we attach those mock constructors to the global
350
350
  * object.
351
+ * Also note that Event is defined in Node 16+, but CustomEvent is not, so they have to be
352
+ * polyfilled separately.
351
353
  */
352
354
 
353
355
 
354
- if (typeof Event !== 'function' && typeof CustomEvent !== 'function') {
356
+ if (typeof Event !== 'function') {
355
357
  class Event {}
356
358
 
359
+ defineProperty(_globalThis, 'Event', {
360
+ value: Event,
361
+ configurable: true,
362
+ writable: true
363
+ });
364
+ }
365
+
366
+ if (typeof CustomEvent !== 'function') {
357
367
  class CustomEvent extends Event {}
358
368
 
359
- defineProperties(_globalThis, {
360
- Event: {
361
- value: Event,
362
- configurable: true,
363
- writable: true
364
- },
365
- CustomEvent: {
366
- value: CustomEvent,
367
- configurable: true,
368
- writable: true
369
- }
369
+ defineProperty(_globalThis, 'CustomEvent', {
370
+ value: CustomEvent,
371
+ configurable: true,
372
+ writable: true
370
373
  });
371
374
  }
372
375
  /**
@@ -390,7 +393,6 @@ const features = {
390
393
  ENABLE_NODE_LIST_PATCH: null,
391
394
  ENABLE_HTML_COLLECTIONS_PATCH: null,
392
395
  ENABLE_NODE_PATCH: null,
393
- ENABLE_MIXED_SHADOW_MODE: null,
394
396
  ENABLE_WIRE_SYNC_EMIT: null
395
397
  };
396
398
 
@@ -455,7 +457,7 @@ function setFeatureFlagForTest(name, value) {
455
457
  setFeatureFlag(name, value);
456
458
  }
457
459
  }
458
- /** version: 2.6.1 */
460
+ /** version: 2.7.2 */
459
461
 
460
462
  /* proxy-compat-disable */
461
463
 
@@ -529,6 +531,249 @@ function parseStyleText(cssText) {
529
531
  }
530
532
 
531
533
  return styleMap;
534
+ } //
535
+ // Primitives
536
+ //
537
+
538
+
539
+ let ssr$1;
540
+
541
+ function setSsr(ssrImpl) {
542
+ ssr$1 = ssrImpl;
543
+ }
544
+
545
+ let isNativeShadowDefined$1;
546
+
547
+ function setIsNativeShadowDefined(isNativeShadowDefinedImpl) {
548
+ isNativeShadowDefined$1 = isNativeShadowDefinedImpl;
549
+ }
550
+
551
+ let isSyntheticShadowDefined$1;
552
+
553
+ function setIsSyntheticShadowDefined(isSyntheticShadowDefinedImpl) {
554
+ isSyntheticShadowDefined$1 = isSyntheticShadowDefinedImpl;
555
+ }
556
+
557
+ let HTMLElementExported$1;
558
+
559
+ function setHTMLElement(HTMLElementImpl) {
560
+ HTMLElementExported$1 = HTMLElementImpl;
561
+ }
562
+
563
+ let isHydrating$1;
564
+
565
+ function setIsHydrating(isHydratingImpl) {
566
+ isHydrating$1 = isHydratingImpl;
567
+ }
568
+
569
+ let insert$1;
570
+
571
+ function setInsert(insertImpl) {
572
+ insert$1 = insertImpl;
573
+ }
574
+
575
+ let remove$1;
576
+
577
+ function setRemove(removeImpl) {
578
+ remove$1 = removeImpl;
579
+ }
580
+
581
+ let createElement$1;
582
+
583
+ function setCreateElement(createElementImpl) {
584
+ createElement$1 = createElementImpl;
585
+ }
586
+
587
+ let createText$1;
588
+
589
+ function setCreateText(createTextImpl) {
590
+ createText$1 = createTextImpl;
591
+ }
592
+
593
+ let createComment$1;
594
+
595
+ function setCreateComment(createCommentImpl) {
596
+ createComment$1 = createCommentImpl;
597
+ }
598
+
599
+ let nextSibling$1;
600
+
601
+ function setNextSibling(nextSiblingImpl) {
602
+ nextSibling$1 = nextSiblingImpl;
603
+ }
604
+
605
+ let attachShadow$1;
606
+
607
+ function setAttachShadow(attachShadowImpl) {
608
+ attachShadow$1 = attachShadowImpl;
609
+ }
610
+
611
+ let getProperty$1;
612
+
613
+ function setGetProperty(getPropertyImpl) {
614
+ getProperty$1 = getPropertyImpl;
615
+ }
616
+
617
+ let setProperty$1;
618
+
619
+ function setSetProperty(setPropertyImpl) {
620
+ setProperty$1 = setPropertyImpl;
621
+ }
622
+
623
+ let setText$1;
624
+
625
+ function setSetText(setTextImpl) {
626
+ setText$1 = setTextImpl;
627
+ }
628
+
629
+ let getAttribute$1;
630
+
631
+ function setGetAttribute(getAttributeImpl) {
632
+ getAttribute$1 = getAttributeImpl;
633
+ }
634
+
635
+ let setAttribute$1;
636
+
637
+ function setSetAttribute(setAttributeImpl) {
638
+ setAttribute$1 = setAttributeImpl;
639
+ }
640
+
641
+ let removeAttribute$1;
642
+
643
+ function setRemoveAttribute(removeAttributeImpl) {
644
+ removeAttribute$1 = removeAttributeImpl;
645
+ }
646
+
647
+ let addEventListener$1;
648
+
649
+ function setAddEventListener(addEventListenerImpl) {
650
+ addEventListener$1 = addEventListenerImpl;
651
+ }
652
+
653
+ let removeEventListener$1;
654
+
655
+ function setRemoveEventListener(removeEventListenerImpl) {
656
+ removeEventListener$1 = removeEventListenerImpl;
657
+ }
658
+
659
+ let dispatchEvent$1;
660
+
661
+ function setDispatchEvent(dispatchEventImpl) {
662
+ dispatchEvent$1 = dispatchEventImpl;
663
+ }
664
+
665
+ let getClassList$1;
666
+
667
+ function setGetClassList(getClassListImpl) {
668
+ getClassList$1 = getClassListImpl;
669
+ }
670
+
671
+ let setCSSStyleProperty$1;
672
+
673
+ function setSetCSSStyleProperty(setCSSStylePropertyImpl) {
674
+ setCSSStyleProperty$1 = setCSSStylePropertyImpl;
675
+ }
676
+
677
+ let getBoundingClientRect$1;
678
+
679
+ function setGetBoundingClientRect(getBoundingClientRectImpl) {
680
+ getBoundingClientRect$1 = getBoundingClientRectImpl;
681
+ }
682
+
683
+ let querySelector$1;
684
+
685
+ function setQuerySelector(querySelectorImpl) {
686
+ querySelector$1 = querySelectorImpl;
687
+ }
688
+
689
+ let querySelectorAll$1;
690
+
691
+ function setQuerySelectorAll(querySelectorAllImpl) {
692
+ querySelectorAll$1 = querySelectorAllImpl;
693
+ }
694
+
695
+ let getElementsByTagName$1;
696
+
697
+ function setGetElementsByTagName(getElementsByTagNameImpl) {
698
+ getElementsByTagName$1 = getElementsByTagNameImpl;
699
+ }
700
+
701
+ let getElementsByClassName$1;
702
+
703
+ function setGetElementsByClassName(getElementsByClassNameImpl) {
704
+ getElementsByClassName$1 = getElementsByClassNameImpl;
705
+ }
706
+
707
+ let getChildren$1;
708
+
709
+ function setGetChildren(getChildrenImpl) {
710
+ getChildren$1 = getChildrenImpl;
711
+ }
712
+
713
+ let getChildNodes$1;
714
+
715
+ function setGetChildNodes(getChildNodesImpl) {
716
+ getChildNodes$1 = getChildNodesImpl;
717
+ }
718
+
719
+ let getFirstChild$1;
720
+
721
+ function setGetFirstChild(getFirstChildImpl) {
722
+ getFirstChild$1 = getFirstChildImpl;
723
+ }
724
+
725
+ let getFirstElementChild$1;
726
+
727
+ function setGetFirstElementChild(getFirstElementChildImpl) {
728
+ getFirstElementChild$1 = getFirstElementChildImpl;
729
+ }
730
+
731
+ let getLastChild$1;
732
+
733
+ function setGetLastChild(getLastChildImpl) {
734
+ getLastChild$1 = getLastChildImpl;
735
+ }
736
+
737
+ let getLastElementChild$1;
738
+
739
+ function setGetLastElementChild(getLastElementChildImpl) {
740
+ getLastElementChild$1 = getLastElementChildImpl;
741
+ }
742
+
743
+ let isConnected$1;
744
+
745
+ function setIsConnected(isConnectedImpl) {
746
+ isConnected$1 = isConnectedImpl;
747
+ }
748
+
749
+ let insertGlobalStylesheet$1;
750
+
751
+ function setInsertGlobalStylesheet(insertGlobalStylesheetImpl) {
752
+ insertGlobalStylesheet$1 = insertGlobalStylesheetImpl;
753
+ }
754
+
755
+ let insertStylesheet$1;
756
+
757
+ function setInsertStylesheet(insertStylesheetImpl) {
758
+ insertStylesheet$1 = insertStylesheetImpl;
759
+ }
760
+
761
+ let assertInstanceOfHTMLElement$1;
762
+
763
+ function setAssertInstanceOfHTMLElement(assertInstanceOfHTMLElementImpl) {
764
+ assertInstanceOfHTMLElement$1 = assertInstanceOfHTMLElementImpl;
765
+ }
766
+
767
+ let defineCustomElement$1;
768
+
769
+ function setDefineCustomElement(defineCustomElementImpl) {
770
+ defineCustomElement$1 = defineCustomElementImpl;
771
+ }
772
+
773
+ let getCustomElement$1;
774
+
775
+ function setGetCustomElement(getCustomElementImpl) {
776
+ getCustomElement$1 = getCustomElementImpl;
532
777
  }
533
778
  /*
534
779
  * Copyright (c) 2019, salesforce.com, inc.
@@ -782,9 +1027,6 @@ function createAllEventListeners(vnode) {
782
1027
  elm,
783
1028
  data: {
784
1029
  on
785
- },
786
- owner: {
787
- renderer
788
1030
  }
789
1031
  } = vnode;
790
1032
 
@@ -797,7 +1039,7 @@ function createAllEventListeners(vnode) {
797
1039
  let name;
798
1040
 
799
1041
  for (name in on) {
800
- renderer.addEventListener(elm, name, listener);
1042
+ addEventListener$1(elm, name, listener);
801
1043
  }
802
1044
  }
803
1045
 
@@ -939,9 +1181,6 @@ function updateAttrs(oldVnode, vnode) {
939
1181
  const {
940
1182
  data: {
941
1183
  attrs
942
- },
943
- owner: {
944
- renderer
945
1184
  }
946
1185
  } = vnode;
947
1186
 
@@ -964,10 +1203,6 @@ function updateAttrs(oldVnode, vnode) {
964
1203
  }
965
1204
 
966
1205
  const elm = vnode.elm;
967
- const {
968
- setAttribute,
969
- removeAttribute
970
- } = renderer;
971
1206
  let key;
972
1207
  oldAttrs = isUndefined$1(oldAttrs) ? EmptyObject : oldAttrs; // update modified attributes, add new attributes
973
1208
  // this routine is only useful for data-* attributes in all kind of elements
@@ -982,14 +1217,14 @@ function updateAttrs(oldVnode, vnode) {
982
1217
 
983
1218
  if (StringCharCodeAt.call(key, 3) === ColonCharCode) {
984
1219
  // Assume xml namespace
985
- setAttribute(elm, key, cur, xmlNS);
1220
+ setAttribute$1(elm, key, cur, xmlNS);
986
1221
  } else if (StringCharCodeAt.call(key, 5) === ColonCharCode) {
987
1222
  // Assume xlink namespace
988
- setAttribute(elm, key, cur, xlinkNS);
989
- } else if (isNull(cur)) {
990
- removeAttribute(elm, key);
1223
+ setAttribute$1(elm, key, cur, xlinkNS);
1224
+ } else if (isNull(cur) || isUndefined$1(cur)) {
1225
+ removeAttribute$1(elm, key);
991
1226
  } else {
992
- setAttribute(elm, key, cur);
1227
+ setAttribute$1(elm, key, cur);
993
1228
  }
994
1229
 
995
1230
  lockAttribute();
@@ -1037,17 +1272,14 @@ function update(oldVnode, vnode) {
1037
1272
  const isFirstPatch = isUndefined$1(oldProps);
1038
1273
  const {
1039
1274
  elm,
1040
- sel,
1041
- owner: {
1042
- renderer
1043
- }
1275
+ sel
1044
1276
  } = vnode;
1045
1277
 
1046
1278
  for (const key in props) {
1047
1279
  const cur = props[key]; // if it is the first time this element is patched, or the current value is different to the previous value...
1048
1280
 
1049
- if (isFirstPatch || cur !== (isLiveBindingProp(sel, key) ? renderer.getProperty(elm, key) : oldProps[key])) {
1050
- renderer.setProperty(elm, key, cur);
1281
+ if (isFirstPatch || cur !== (isLiveBindingProp(sel, key) ? getProperty$1(elm, key) : oldProps[key])) {
1282
+ setProperty$1(elm, key, cur);
1051
1283
  }
1052
1284
  }
1053
1285
  }
@@ -1116,9 +1348,6 @@ function updateClassAttribute(oldVnode, vnode) {
1116
1348
  elm,
1117
1349
  data: {
1118
1350
  className: newClass
1119
- },
1120
- owner: {
1121
- renderer
1122
1351
  }
1123
1352
  } = vnode;
1124
1353
  const {
@@ -1131,7 +1360,7 @@ function updateClassAttribute(oldVnode, vnode) {
1131
1360
  return;
1132
1361
  }
1133
1362
 
1134
- const classList = renderer.getClassList(elm);
1363
+ const classList = getClassList$1(elm);
1135
1364
  const newClassMap = getMapFromClassName(newClass);
1136
1365
  const oldClassMap = getMapFromClassName(oldClass);
1137
1366
  let name;
@@ -1169,24 +1398,17 @@ function updateStyleAttribute(oldVnode, vnode) {
1169
1398
  elm,
1170
1399
  data: {
1171
1400
  style: newStyle
1172
- },
1173
- owner: {
1174
- renderer
1175
1401
  }
1176
1402
  } = vnode;
1177
- const {
1178
- setAttribute,
1179
- removeAttribute
1180
- } = renderer;
1181
1403
 
1182
1404
  if (oldVnode.data.style === newStyle) {
1183
1405
  return;
1184
1406
  }
1185
1407
 
1186
1408
  if (!isString(newStyle) || newStyle === '') {
1187
- removeAttribute(elm, 'style');
1409
+ removeAttribute$1(elm, 'style');
1188
1410
  } else {
1189
- setAttribute(elm, 'style', newStyle);
1411
+ setAttribute$1(elm, 'style', newStyle);
1190
1412
  }
1191
1413
  }
1192
1414
 
@@ -1211,9 +1433,6 @@ function createClassAttribute(vnode) {
1211
1433
  elm,
1212
1434
  data: {
1213
1435
  classMap
1214
- },
1215
- owner: {
1216
- renderer
1217
1436
  }
1218
1437
  } = vnode;
1219
1438
 
@@ -1221,7 +1440,7 @@ function createClassAttribute(vnode) {
1221
1440
  return;
1222
1441
  }
1223
1442
 
1224
- const classList = renderer.getClassList(elm);
1443
+ const classList = getClassList$1(elm);
1225
1444
 
1226
1445
  for (const name in classMap) {
1227
1446
  classList.add(name);
@@ -1245,9 +1464,6 @@ function createStyleAttribute(vnode) {
1245
1464
  elm,
1246
1465
  data: {
1247
1466
  styleDecls
1248
- },
1249
- owner: {
1250
- renderer
1251
1467
  }
1252
1468
  } = vnode;
1253
1469
 
@@ -1257,7 +1473,7 @@ function createStyleAttribute(vnode) {
1257
1473
 
1258
1474
  for (let i = 0; i < styleDecls.length; i++) {
1259
1475
  const [prop, value, important] = styleDecls[i];
1260
- renderer.setCSSStyleProperty(elm, prop, value, important);
1476
+ setCSSStyleProperty$1(elm, prop, value, important);
1261
1477
  }
1262
1478
  }
1263
1479
 
@@ -1271,15 +1487,6 @@ var modStaticStyle = {
1271
1487
  * For full license text, see the LICENSE file in the repo root or https://opensource.org/licenses/MIT
1272
1488
  */
1273
1489
 
1274
- /**
1275
- @license
1276
- Copyright (c) 2015 Simon Friis Vindum.
1277
- This code may only be used under the MIT License found at
1278
- https://github.com/snabbdom/snabbdom/blob/master/LICENSE
1279
- Code distributed by Snabbdom as part of the Snabbdom project at
1280
- https://github.com/snabbdom/snabbdom/
1281
- */
1282
-
1283
1490
  function isUndef(s) {
1284
1491
  return s === undefined;
1285
1492
  }
@@ -1367,7 +1574,7 @@ function updateDynamicChildren(parentElm, oldCh, newCh) {
1367
1574
  } else if (sameVnode(oldStartVnode, newEndVnode)) {
1368
1575
  // Vnode moved right
1369
1576
  patchVnode(oldStartVnode, newEndVnode);
1370
- newEndVnode.hook.move(oldStartVnode, parentElm, oldEndVnode.owner.renderer.nextSibling(oldEndVnode.elm));
1577
+ newEndVnode.hook.move(oldStartVnode, parentElm, nextSibling$1(oldEndVnode.elm));
1371
1578
  oldStartVnode = oldCh[++oldStartIdx];
1372
1579
  newEndVnode = newCh[--newEndIdx];
1373
1580
  } else if (sameVnode(oldEndVnode, newStartVnode)) {
@@ -1849,7 +2056,7 @@ function patchLightningElementPrototypeWithRestrictions(proto) {
1849
2056
  defineProperties(proto, getLightningElementPrototypeRestrictionsDescriptors(proto));
1850
2057
  }
1851
2058
  /*
1852
- * Copyright (c) 2020, salesforce.com, inc.
2059
+ * Copyright (c) 2018, salesforce.com, inc.
1853
2060
  * All rights reserved.
1854
2061
  * SPDX-License-Identifier: MIT
1855
2062
  * For full license text, see the LICENSE file in the repo root or https://opensource.org/licenses/MIT
@@ -2769,9 +2976,7 @@ function createBridgeToElementDescriptor(propName, descriptor) {
2769
2976
 
2770
2977
 
2771
2978
  const LightningElement = function () {
2772
- var _a; // This should be as performant as possible, while any initialization should be done lazily
2773
-
2774
-
2979
+ // This should be as performant as possible, while any initialization should be done lazily
2775
2980
  if (isNull(vmBeingConstructed)) {
2776
2981
  throw new ReferenceError('Illegal constructor');
2777
2982
  }
@@ -2779,15 +2984,14 @@ const LightningElement = function () {
2779
2984
  const vm = vmBeingConstructed;
2780
2985
  const {
2781
2986
  def,
2782
- elm,
2783
- renderer
2987
+ elm
2784
2988
  } = vm;
2785
2989
  const {
2786
2990
  bridge
2787
2991
  } = def;
2788
2992
 
2789
2993
  if (process.env.NODE_ENV !== 'production') {
2790
- (_a = renderer.assertInstanceOfHTMLElement) === null || _a === void 0 ? void 0 : _a.call(renderer, vm.elm, `Component creation requires a DOM element to be associated to ${vm}.`);
2994
+ assertInstanceOfHTMLElement$1(vm.elm, `Component creation requires a DOM element to be associated to ${vm}.`);
2791
2995
  }
2792
2996
 
2793
2997
  const component = this;
@@ -2817,7 +3021,7 @@ const LightningElement = function () {
2817
3021
  if (vm.renderMode === 1
2818
3022
  /* Shadow */
2819
3023
  ) {
2820
- attachShadow(vm);
3024
+ doAttachShadow(vm);
2821
3025
  } // Adding extra guard rails in DEV mode.
2822
3026
 
2823
3027
 
@@ -2829,17 +3033,16 @@ const LightningElement = function () {
2829
3033
  return this;
2830
3034
  };
2831
3035
 
2832
- function attachShadow(vm) {
3036
+ function doAttachShadow(vm) {
2833
3037
  const {
2834
3038
  elm,
2835
3039
  mode,
2836
- renderer,
2837
3040
  shadowMode,
2838
3041
  def: {
2839
3042
  ctor
2840
3043
  }
2841
3044
  } = vm;
2842
- const cmpRoot = renderer.attachShadow(elm, {
3045
+ const cmpRoot = attachShadow$1(elm, {
2843
3046
  [KEY__SYNTHETIC_MODE]: shadowMode === 1
2844
3047
  /* Synthetic */
2845
3048
  ,
@@ -2866,21 +3069,15 @@ LightningElement.prototype = {
2866
3069
 
2867
3070
  dispatchEvent(event) {
2868
3071
  const {
2869
- elm,
2870
- renderer: {
2871
- dispatchEvent
2872
- }
3072
+ elm
2873
3073
  } = getAssociatedVM(this);
2874
- return dispatchEvent(elm, event);
3074
+ return dispatchEvent$1(elm, event);
2875
3075
  },
2876
3076
 
2877
3077
  addEventListener(type, listener, options) {
2878
3078
  const vm = getAssociatedVM(this);
2879
3079
  const {
2880
- elm,
2881
- renderer: {
2882
- addEventListener
2883
- }
3080
+ elm
2884
3081
  } = vm;
2885
3082
 
2886
3083
  if (process.env.NODE_ENV !== 'production') {
@@ -2891,92 +3088,68 @@ LightningElement.prototype = {
2891
3088
  }
2892
3089
 
2893
3090
  const wrappedListener = getWrappedComponentsListener(vm, listener);
2894
- addEventListener(elm, type, wrappedListener, options);
3091
+ addEventListener$1(elm, type, wrappedListener, options);
2895
3092
  },
2896
3093
 
2897
3094
  removeEventListener(type, listener, options) {
2898
3095
  const vm = getAssociatedVM(this);
2899
3096
  const {
2900
- elm,
2901
- renderer: {
2902
- removeEventListener
2903
- }
3097
+ elm
2904
3098
  } = vm;
2905
3099
  const wrappedListener = getWrappedComponentsListener(vm, listener);
2906
- removeEventListener(elm, type, wrappedListener, options);
3100
+ removeEventListener$1(elm, type, wrappedListener, options);
2907
3101
  },
2908
3102
 
2909
3103
  hasAttribute(name) {
2910
3104
  const {
2911
- elm,
2912
- renderer: {
2913
- getAttribute
2914
- }
3105
+ elm
2915
3106
  } = getAssociatedVM(this);
2916
- return !isNull(getAttribute(elm, name));
3107
+ return !isNull(getAttribute$1(elm, name));
2917
3108
  },
2918
3109
 
2919
3110
  hasAttributeNS(namespace, name) {
2920
3111
  const {
2921
- elm,
2922
- renderer: {
2923
- getAttribute
2924
- }
3112
+ elm
2925
3113
  } = getAssociatedVM(this);
2926
- return !isNull(getAttribute(elm, name, namespace));
3114
+ return !isNull(getAttribute$1(elm, name, namespace));
2927
3115
  },
2928
3116
 
2929
3117
  removeAttribute(name) {
2930
3118
  const {
2931
- elm,
2932
- renderer: {
2933
- removeAttribute
2934
- }
3119
+ elm
2935
3120
  } = getAssociatedVM(this);
2936
3121
  unlockAttribute(elm, name);
2937
- removeAttribute(elm, name);
3122
+ removeAttribute$1(elm, name);
2938
3123
  lockAttribute();
2939
3124
  },
2940
3125
 
2941
3126
  removeAttributeNS(namespace, name) {
2942
3127
  const {
2943
- elm,
2944
- renderer: {
2945
- removeAttribute
2946
- }
3128
+ elm
2947
3129
  } = getAssociatedVM(this);
2948
3130
  unlockAttribute(elm, name);
2949
- removeAttribute(elm, name, namespace);
3131
+ removeAttribute$1(elm, name, namespace);
2950
3132
  lockAttribute();
2951
3133
  },
2952
3134
 
2953
3135
  getAttribute(name) {
2954
3136
  const {
2955
- elm,
2956
- renderer: {
2957
- getAttribute
2958
- }
3137
+ elm
2959
3138
  } = getAssociatedVM(this);
2960
- return getAttribute(elm, name);
3139
+ return getAttribute$1(elm, name);
2961
3140
  },
2962
3141
 
2963
3142
  getAttributeNS(namespace, name) {
2964
3143
  const {
2965
- elm,
2966
- renderer: {
2967
- getAttribute
2968
- }
3144
+ elm
2969
3145
  } = getAssociatedVM(this);
2970
- return getAttribute(elm, name, namespace);
3146
+ return getAttribute$1(elm, name, namespace);
2971
3147
  },
2972
3148
 
2973
3149
  setAttribute(name, value) {
2974
3150
  const vm = getAssociatedVM(this);
2975
3151
  const {
2976
- elm,
2977
- renderer: {
2978
- setAttribute
2979
- }
3152
+ elm
2980
3153
  } = vm;
2981
3154
 
2982
3155
  if (process.env.NODE_ENV !== 'production') {
@@ -2984,17 +3157,14 @@ LightningElement.prototype = {
2984
3157
  }
2985
3158
 
2986
3159
  unlockAttribute(elm, name);
2987
- setAttribute(elm, name, value);
3160
+ setAttribute$1(elm, name, value);
2988
3161
  lockAttribute();
2989
3162
  },
2990
3163
 
2991
3164
  setAttributeNS(namespace, name, value) {
2992
3165
  const vm = getAssociatedVM(this);
2993
3166
  const {
2994
- elm,
2995
- renderer: {
2996
- setAttribute
2997
- }
3167
+ elm
2998
3168
  } = vm;
2999
3169
 
3000
3170
  if (process.env.NODE_ENV !== 'production') {
@@ -3002,43 +3172,34 @@ LightningElement.prototype = {
3002
3172
  }
3003
3173
 
3004
3174
  unlockAttribute(elm, name);
3005
- setAttribute(elm, name, value, namespace);
3175
+ setAttribute$1(elm, name, value, namespace);
3006
3176
  lockAttribute();
3007
3177
  },
3008
3178
 
3009
3179
  getBoundingClientRect() {
3010
3180
  const vm = getAssociatedVM(this);
3011
3181
  const {
3012
- elm,
3013
- renderer: {
3014
- getBoundingClientRect
3015
- }
3182
+ elm
3016
3183
  } = vm;
3017
3184
 
3018
3185
  if (process.env.NODE_ENV !== 'production') {
3019
3186
  warnIfInvokedDuringConstruction(vm, 'getBoundingClientRect()');
3020
3187
  }
3021
3188
 
3022
- return getBoundingClientRect(elm);
3189
+ return getBoundingClientRect$1(elm);
3023
3190
  },
3024
3191
 
3025
3192
  get isConnected() {
3026
3193
  const {
3027
- elm,
3028
- renderer: {
3029
- isConnected
3030
- }
3194
+ elm
3031
3195
  } = getAssociatedVM(this);
3032
- return isConnected(elm);
3196
+ return isConnected$1(elm);
3033
3197
  },
3034
3198
 
3035
3199
  get classList() {
3036
3200
  const vm = getAssociatedVM(this);
3037
3201
  const {
3038
- elm,
3039
- renderer: {
3040
- getClassList
3041
- }
3202
+ elm
3042
3203
  } = vm;
3043
3204
 
3044
3205
  if (process.env.NODE_ENV !== 'production') {
@@ -3047,7 +3208,7 @@ LightningElement.prototype = {
3047
3208
  assert.isFalse(isBeingConstructed(vm), `Failed to construct ${vm}: The result must not have attributes. Adding or tampering with classname in constructor is not allowed in a web component, use connectedCallback() instead.`);
3048
3209
  }
3049
3210
 
3050
- return getClassList(elm);
3211
+ return getClassList$1(elm);
3051
3212
  },
3052
3213
 
3053
3214
  get template() {
@@ -3081,23 +3242,48 @@ LightningElement.prototype = {
3081
3242
  }
3082
3243
 
3083
3244
  };
3084
- const queryAndChildGetterDescriptors = create(null);
3085
- const childGetters = [['children', 'getChildren'], ['childNodes', 'getChildNodes'], ['firstChild', 'getFirstChild'], ['firstElementChild', 'getFirstElementChild'], ['lastChild', 'getLastChild'], ['lastElementChild', 'getLastElementChild']]; // Generic passthrough for child getters on HTMLElement to the relevant Renderer APIs
3245
+ const queryAndChildGetterDescriptors = create(null); // The reason we don't just call `import * as renderer from '../renderer'` here is that the bundle size
3246
+ // is smaller if we reference each function individually. Otherwise Rollup will create one big frozen
3247
+ // object representing the renderer, with a lot of methods we don't actually need.
3248
+
3249
+ const childGetters = ['children', 'childNodes', 'firstChild', 'firstElementChild', 'lastChild', 'lastElementChild'];
3250
+
3251
+ function getChildGetter(methodName) {
3252
+ switch (methodName) {
3253
+ case 'children':
3254
+ return getChildren$1;
3255
+
3256
+ case 'childNodes':
3257
+ return getChildNodes$1;
3258
+
3259
+ case 'firstChild':
3260
+ return getFirstChild$1;
3261
+
3262
+ case 'firstElementChild':
3263
+ return getFirstElementChild$1;
3264
+
3265
+ case 'lastChild':
3266
+ return getLastChild$1;
3267
+
3268
+ case 'lastElementChild':
3269
+ return getLastElementChild$1;
3270
+ }
3271
+ } // Generic passthrough for child getters on HTMLElement to the relevant Renderer APIs
3272
+
3086
3273
 
3087
- for (const [elementProp, rendererMethod] of childGetters) {
3088
- queryAndChildGetterDescriptors[elementProp] = {
3274
+ for (const childGetter of childGetters) {
3275
+ queryAndChildGetterDescriptors[childGetter] = {
3089
3276
  get() {
3090
3277
  const vm = getAssociatedVM(this);
3091
3278
  const {
3092
- elm,
3093
- renderer
3279
+ elm
3094
3280
  } = vm;
3095
3281
 
3096
3282
  if (process.env.NODE_ENV !== 'production') {
3097
- warnIfInvokedDuringConstruction(vm, elementProp);
3283
+ warnIfInvokedDuringConstruction(vm, childGetter);
3098
3284
  }
3099
3285
 
3100
- return renderer[rendererMethod](elm);
3286
+ return getChildGetter(childGetter)(elm);
3101
3287
  },
3102
3288
 
3103
3289
  configurable: true,
@@ -3105,22 +3291,38 @@ for (const [elementProp, rendererMethod] of childGetters) {
3105
3291
  };
3106
3292
  }
3107
3293
 
3108
- const queryMethods = ['getElementsByClassName', 'getElementsByTagName', 'querySelector', 'querySelectorAll']; // Generic passthrough for query APIs on HTMLElement to the relevant Renderer APIs
3294
+ const queryMethods = ['getElementsByClassName', 'getElementsByTagName', 'querySelector', 'querySelectorAll'];
3295
+
3296
+ function getQueryMethod(methodName) {
3297
+ switch (methodName) {
3298
+ case 'getElementsByClassName':
3299
+ return getElementsByClassName$1;
3300
+
3301
+ case 'getElementsByTagName':
3302
+ return getElementsByTagName$1;
3303
+
3304
+ case 'querySelector':
3305
+ return querySelector$1;
3306
+
3307
+ case 'querySelectorAll':
3308
+ return querySelectorAll$1;
3309
+ }
3310
+ } // Generic passthrough for query APIs on HTMLElement to the relevant Renderer APIs
3311
+
3109
3312
 
3110
3313
  for (const queryMethod of queryMethods) {
3111
3314
  queryAndChildGetterDescriptors[queryMethod] = {
3112
3315
  value(arg) {
3113
3316
  const vm = getAssociatedVM(this);
3114
3317
  const {
3115
- elm,
3116
- renderer
3318
+ elm
3117
3319
  } = vm;
3118
3320
 
3119
3321
  if (process.env.NODE_ENV !== 'production') {
3120
3322
  warnIfInvokedDuringConstruction(vm, `${queryMethod}()`);
3121
3323
  }
3122
3324
 
3123
- return renderer[queryMethod](elm, arg);
3325
+ return getQueryMethod(queryMethod)(elm, arg);
3124
3326
  },
3125
3327
 
3126
3328
  configurable: true,
@@ -4156,10 +4358,6 @@ function createComponentDef(Ctor) {
4156
4358
 
4157
4359
  assert.isTrue(Ctor.constructor, `Missing ${ctorName}.constructor, ${ctorName} should have a "constructor" property.`);
4158
4360
 
4159
- if (!runtimeFlags.ENABLE_MIXED_SHADOW_MODE) {
4160
- assert.isFalse('shadowSupportMode' in Ctor, `${ctorName || 'Anonymous class'} is an invalid LWC component. The shadowSupportMode static property is not available in this environment.`);
4161
- }
4162
-
4163
4361
  if (!isUndefined$1(ctorShadowSupportMode)) {
4164
4362
  assert.invariant(ctorShadowSupportMode === "any"
4165
4363
  /* Any */
@@ -4403,17 +4601,14 @@ function setScopeTokenClassIfNecessary(elm, owner) {
4403
4601
  const token = cmpTemplate === null || cmpTemplate === void 0 ? void 0 : cmpTemplate.stylesheetToken;
4404
4602
 
4405
4603
  if (!isUndefined$1(token) && context.hasScopedStyles) {
4406
- owner.renderer.getClassList(elm).add(token);
4604
+ getClassList$1(elm).add(token);
4407
4605
  }
4408
4606
  }
4409
4607
 
4410
4608
  function updateNodeHook(oldVnode, vnode) {
4411
4609
  const {
4412
4610
  elm,
4413
- text,
4414
- owner: {
4415
- renderer
4416
- }
4611
+ text
4417
4612
  } = vnode;
4418
4613
 
4419
4614
  if (oldVnode.text !== text) {
@@ -4421,7 +4616,7 @@ function updateNodeHook(oldVnode, vnode) {
4421
4616
  unlockDomMutation();
4422
4617
  }
4423
4618
 
4424
- renderer.setText(elm, text);
4619
+ setText$1(elm, text);
4425
4620
 
4426
4621
  if (process.env.NODE_ENV !== 'production') {
4427
4622
  lockDomMutation();
@@ -4430,15 +4625,11 @@ function updateNodeHook(oldVnode, vnode) {
4430
4625
  }
4431
4626
 
4432
4627
  function insertNodeHook(vnode, parentNode, referenceNode) {
4433
- const {
4434
- renderer
4435
- } = vnode.owner;
4436
-
4437
4628
  if (process.env.NODE_ENV !== 'production') {
4438
4629
  unlockDomMutation();
4439
4630
  }
4440
4631
 
4441
- renderer.insert(vnode.elm, parentNode, referenceNode);
4632
+ insert$1(vnode.elm, parentNode, referenceNode);
4442
4633
 
4443
4634
  if (process.env.NODE_ENV !== 'production') {
4444
4635
  lockDomMutation();
@@ -4446,15 +4637,11 @@ function insertNodeHook(vnode, parentNode, referenceNode) {
4446
4637
  }
4447
4638
 
4448
4639
  function removeNodeHook(vnode, parentNode) {
4449
- const {
4450
- renderer
4451
- } = vnode.owner;
4452
-
4453
4640
  if (process.env.NODE_ENV !== 'production') {
4454
4641
  unlockDomMutation();
4455
4642
  }
4456
4643
 
4457
- renderer.remove(vnode.elm, parentNode);
4644
+ remove$1(vnode.elm, parentNode);
4458
4645
 
4459
4646
  if (process.env.NODE_ENV !== 'production') {
4460
4647
  lockDomMutation();
@@ -4546,13 +4733,15 @@ function updateElmHook(oldVnode, vnode) {
4546
4733
 
4547
4734
  function updateChildrenHook(oldVnode, vnode) {
4548
4735
  const {
4549
- children,
4550
- owner
4736
+ elm,
4737
+ children
4551
4738
  } = vnode;
4552
- const fn = hasDynamicChildren(children) ? updateDynamicChildren : updateStaticChildren;
4553
- runWithBoundaryProtection(owner, owner.owner, noop, () => {
4554
- fn(vnode.elm, oldVnode.children, children);
4555
- }, noop);
4739
+
4740
+ if (hasDynamicChildren(children)) {
4741
+ updateDynamicChildren(elm, oldVnode.children, children);
4742
+ } else {
4743
+ updateStaticChildren(elm, oldVnode.children, children);
4744
+ }
4556
4745
  }
4557
4746
 
4558
4747
  function allocateChildrenHook(vnode, vm) {
@@ -4618,8 +4807,7 @@ function createViewModelHook(elm, vnode) {
4618
4807
  createVM(elm, def, {
4619
4808
  mode,
4620
4809
  owner,
4621
- tagName: sel,
4622
- renderer: owner.renderer
4810
+ tagName: sel
4623
4811
  });
4624
4812
 
4625
4813
  if (process.env.NODE_ENV !== 'production') {
@@ -4665,16 +4853,13 @@ function vnodesAndElementHaveCompatibleAttrs(vnode, elm) {
4665
4853
  const {
4666
4854
  data: {
4667
4855
  attrs = {}
4668
- },
4669
- owner: {
4670
- renderer
4671
4856
  }
4672
4857
  } = vnode;
4673
4858
  let nodesAreCompatible = true; // Validate attributes, though we could always recovery from those by running the update mods.
4674
4859
  // Note: intentionally ONLY matching vnodes.attrs to elm.attrs, in case SSR is adding extra attributes.
4675
4860
 
4676
4861
  for (const [attrName, attrValue] of Object.entries(attrs)) {
4677
- const elmAttrValue = renderer.getAttribute(elm, attrName);
4862
+ const elmAttrValue = getAttribute$1(elm, attrName);
4678
4863
 
4679
4864
  if (String(attrValue) !== elmAttrValue) {
4680
4865
  logError(`Mismatch hydrating element <${elm.tagName.toLowerCase()}>: attribute "${attrName}" has different values, expected "${attrValue}" but found "${elmAttrValue}"`, vnode.owner);
@@ -4690,9 +4875,6 @@ function vnodesAndElementHaveCompatibleClass(vnode, elm) {
4690
4875
  data: {
4691
4876
  className,
4692
4877
  classMap
4693
- },
4694
- owner: {
4695
- renderer
4696
4878
  }
4697
4879
  } = vnode;
4698
4880
  let nodesAreCompatible = true;
@@ -4704,7 +4886,7 @@ function vnodesAndElementHaveCompatibleClass(vnode, elm) {
4704
4886
  vnodeClassName = className;
4705
4887
  } else if (!isUndefined$1(classMap)) {
4706
4888
  // classMap is used when class is set to static value.
4707
- const classList = renderer.getClassList(elm);
4889
+ const classList = getClassList$1(elm);
4708
4890
  let computedClassName = ''; // all classes from the vnode should be in the element.classList
4709
4891
 
4710
4892
  for (const name in classMap) {
@@ -4734,12 +4916,9 @@ function vnodesAndElementHaveCompatibleStyle(vnode, elm) {
4734
4916
  data: {
4735
4917
  style,
4736
4918
  styleDecls
4737
- },
4738
- owner: {
4739
- renderer
4740
4919
  }
4741
4920
  } = vnode;
4742
- const elmStyle = renderer.getAttribute(elm, 'style') || '';
4921
+ const elmStyle = getAttribute$1(elm, 'style') || '';
4743
4922
  let vnodeStyle;
4744
4923
  let nodesAreCompatible = true;
4745
4924
 
@@ -4876,12 +5055,12 @@ function hasDynamicChildren(children) {
4876
5055
  */
4877
5056
 
4878
5057
 
4879
- function getUpgradableConstructor(tagName, renderer) {
5058
+ function getUpgradableConstructor(tagName) {
4880
5059
  // Should never get a tag with upper case letter at this point, the compiler should
4881
5060
  // produce only tags with lowercase letters
4882
5061
  // But, for backwards compatibility, we will lower case the tagName
4883
5062
  tagName = tagName.toLowerCase();
4884
- let CE = renderer.getCustomElement(tagName);
5063
+ let CE = getCustomElement$1(tagName);
4885
5064
 
4886
5065
  if (!isUndefined$1(CE)) {
4887
5066
  return CE;
@@ -4892,7 +5071,7 @@ function getUpgradableConstructor(tagName, renderer) {
4892
5071
  */
4893
5072
 
4894
5073
 
4895
- CE = class LWCUpgradableElement extends renderer.HTMLElement {
5074
+ CE = class LWCUpgradableElement extends HTMLElementExported$1 {
4896
5075
  constructor(upgradeCallback) {
4897
5076
  super();
4898
5077
 
@@ -4902,7 +5081,7 @@ function getUpgradableConstructor(tagName, renderer) {
4902
5081
  }
4903
5082
 
4904
5083
  };
4905
- renderer.defineCustomElement(tagName, CE);
5084
+ defineCustomElement$1(tagName, CE);
4906
5085
  return CE;
4907
5086
  }
4908
5087
  /*
@@ -4920,10 +5099,7 @@ const TextHook = {
4920
5099
  const {
4921
5100
  owner
4922
5101
  } = vnode;
4923
- const {
4924
- renderer
4925
- } = owner;
4926
- const elm = renderer.createText(vnode.text);
5102
+ const elm = createText$1(vnode.text);
4927
5103
  linkNodeToShadow(elm, owner);
4928
5104
  vnode.elm = elm;
4929
5105
  },
@@ -4957,10 +5133,7 @@ const CommentHook = {
4957
5133
  owner,
4958
5134
  text
4959
5135
  } = vnode;
4960
- const {
4961
- renderer
4962
- } = owner;
4963
- const elm = renderer.createComment(text);
5136
+ const elm = createComment$1(text);
4964
5137
  linkNodeToShadow(elm, owner);
4965
5138
  vnode.elm = elm;
4966
5139
  },
@@ -5002,11 +5175,8 @@ const ElementHook = {
5002
5175
  svg
5003
5176
  }
5004
5177
  } = vnode;
5005
- const {
5006
- renderer
5007
- } = owner;
5008
5178
  const namespace = isTrue(svg) ? SVG_NAMESPACE : undefined;
5009
- const elm = renderer.createElement(sel, namespace);
5179
+ const elm = createElement$1(sel, namespace);
5010
5180
  linkNodeToShadow(elm, owner);
5011
5181
  fallbackElmHook(elm, vnode);
5012
5182
  vnode.elm = elm;
@@ -5066,10 +5236,7 @@ const CustomElementHook = {
5066
5236
  sel,
5067
5237
  owner
5068
5238
  } = vnode;
5069
- const {
5070
- renderer
5071
- } = owner;
5072
- const UpgradableConstructor = getUpgradableConstructor(sel, renderer);
5239
+ const UpgradableConstructor = getUpgradableConstructor(sel);
5073
5240
  /**
5074
5241
  * Note: if the upgradable constructor does not expect, or throw when we new it
5075
5242
  * with a callback as the first argument, we could implement a more advanced
@@ -5162,8 +5329,7 @@ const CustomElementHook = {
5162
5329
  createVM(elm, def, {
5163
5330
  mode,
5164
5331
  owner,
5165
- tagName: sel,
5166
- renderer: owner.renderer
5332
+ tagName: sel
5167
5333
  });
5168
5334
  vnode.elm = elm;
5169
5335
  const vm = getAssociatedVM(elm);
@@ -5192,12 +5358,11 @@ const CustomElementHook = {
5192
5358
 
5193
5359
  function linkNodeToShadow(elm, owner) {
5194
5360
  const {
5195
- renderer,
5196
5361
  renderMode,
5197
5362
  shadowMode
5198
5363
  } = owner; // TODO [#1164]: this should eventually be done by the polyfill directly
5199
5364
 
5200
- if (renderer.isSyntheticShadowDefined) {
5365
+ if (isSyntheticShadowDefined$1) {
5201
5366
  if (shadowMode === 1
5202
5367
  /* Synthetic */
5203
5368
  || renderMode === 0
@@ -5729,7 +5894,6 @@ function updateStylesheetToken(vm, template) {
5729
5894
  const {
5730
5895
  elm,
5731
5896
  context,
5732
- renderer,
5733
5897
  renderMode,
5734
5898
  shadowMode
5735
5899
  } = vm;
@@ -5756,11 +5920,11 @@ function updateStylesheetToken(vm, template) {
5756
5920
  } = context;
5757
5921
 
5758
5922
  if (oldHasTokenInClass) {
5759
- renderer.getClassList(elm).remove(makeHostToken(oldToken));
5923
+ getClassList$1(elm).remove(makeHostToken(oldToken));
5760
5924
  }
5761
5925
 
5762
5926
  if (oldHasTokenInAttribute) {
5763
- renderer.removeAttribute(elm, makeHostToken(oldToken));
5927
+ removeAttribute$1(elm, makeHostToken(oldToken));
5764
5928
  } // Apply the new template styling token to the host element, if the new template has any
5765
5929
  // associated stylesheets. In the case of light DOM, also ensure there is at least one scoped stylesheet.
5766
5930
 
@@ -5772,12 +5936,12 @@ function updateStylesheetToken(vm, template) {
5772
5936
 
5773
5937
  if (!isUndefined$1(newToken)) {
5774
5938
  if (hasScopedStyles) {
5775
- renderer.getClassList(elm).add(makeHostToken(newToken));
5939
+ getClassList$1(elm).add(makeHostToken(newToken));
5776
5940
  newHasTokenInClass = true;
5777
5941
  }
5778
5942
 
5779
5943
  if (isSyntheticShadow) {
5780
- renderer.setAttribute(elm, makeHostToken(newToken), '');
5944
+ setAttribute$1(elm, makeHostToken(newToken), '');
5781
5945
  newHasTokenInAttribute = true;
5782
5946
  }
5783
5947
  } // Update the styling tokens present on the context object.
@@ -5898,7 +6062,6 @@ function getNearestNativeShadowComponent(vm) {
5898
6062
 
5899
6063
  function createStylesheet(vm, stylesheets) {
5900
6064
  const {
5901
- renderer,
5902
6065
  renderMode,
5903
6066
  shadowMode
5904
6067
  } = vm;
@@ -5909,9 +6072,9 @@ function createStylesheet(vm, stylesheets) {
5909
6072
  /* Synthetic */
5910
6073
  ) {
5911
6074
  for (let i = 0; i < stylesheets.length; i++) {
5912
- renderer.insertGlobalStylesheet(stylesheets[i]);
6075
+ insertGlobalStylesheet$1(stylesheets[i]);
5913
6076
  }
5914
- } else if (renderer.ssr || renderer.isHydrating()) {
6077
+ } else if (ssr$1 || isHydrating$1()) {
5915
6078
  // Note: We need to ensure that during hydration, the stylesheets method is the same as those in ssr.
5916
6079
  // This works in the client, because the stylesheets are created, and cached in the VM
5917
6080
  // the first time the VM renders.
@@ -5925,10 +6088,10 @@ function createStylesheet(vm, stylesheets) {
5925
6088
 
5926
6089
  for (let i = 0; i < stylesheets.length; i++) {
5927
6090
  if (isGlobal) {
5928
- renderer.insertGlobalStylesheet(stylesheets[i]);
6091
+ insertGlobalStylesheet$1(stylesheets[i]);
5929
6092
  } else {
5930
6093
  // local level
5931
- renderer.insertStylesheet(stylesheets[i], root.cmpRoot);
6094
+ insertStylesheet$1(stylesheets[i], root.cmpRoot);
5932
6095
  }
5933
6096
  }
5934
6097
  }
@@ -6562,7 +6725,6 @@ function createVM(elm, def, options) {
6562
6725
  const {
6563
6726
  mode,
6564
6727
  owner,
6565
- renderer,
6566
6728
  tagName
6567
6729
  } = options;
6568
6730
  const vm = {
@@ -6577,7 +6739,6 @@ function createVM(elm, def, options) {
6577
6739
  tagName,
6578
6740
  mode,
6579
6741
  owner,
6580
- renderer,
6581
6742
  children: EmptyArray,
6582
6743
  aChildren: EmptyArray,
6583
6744
  velements: EmptyArray,
@@ -6632,16 +6793,11 @@ function createVM(elm, def, options) {
6632
6793
 
6633
6794
  function computeShadowMode(vm) {
6634
6795
  const {
6635
- def,
6636
- renderer
6796
+ def
6637
6797
  } = vm;
6638
- const {
6639
- isNativeShadowDefined,
6640
- isSyntheticShadowDefined
6641
- } = renderer;
6642
6798
  let shadowMode;
6643
6799
 
6644
- if (isSyntheticShadowDefined) {
6800
+ if (isSyntheticShadowDefined$1) {
6645
6801
  if (def.renderMode === 0
6646
6802
  /* Light */
6647
6803
  ) {
@@ -6650,7 +6806,7 @@ function computeShadowMode(vm) {
6650
6806
  shadowMode = 0
6651
6807
  /* Native */
6652
6808
  ;
6653
- } else if (isNativeShadowDefined) {
6809
+ } else if (isNativeShadowDefined$1) {
6654
6810
  if (def.shadowSupportMode === "any"
6655
6811
  /* Any */
6656
6812
  ) {
@@ -6790,13 +6946,12 @@ function patchShadowRoot(vm, newCh) {
6790
6946
 
6791
6947
  function runRenderedCallback(vm) {
6792
6948
  const {
6793
- renderer,
6794
6949
  def: {
6795
6950
  renderedCallback
6796
6951
  }
6797
6952
  } = vm;
6798
6953
 
6799
- if (isTrue(renderer.ssr)) {
6954
+ if (isTrue(ssr$1)) {
6800
6955
  return;
6801
6956
  }
6802
6957
 
@@ -7022,8 +7177,7 @@ function recursivelyDisconnectChildren(vnodes) {
7022
7177
 
7023
7178
  function resetComponentRoot(vm) {
7024
7179
  const {
7025
- children,
7026
- renderer
7180
+ children
7027
7181
  } = vm;
7028
7182
  const rootNode = getRenderRoot(vm);
7029
7183
 
@@ -7031,7 +7185,7 @@ function resetComponentRoot(vm) {
7031
7185
  const child = children[i];
7032
7186
 
7033
7187
  if (!isNull(child) && !isUndefined$1(child.elm)) {
7034
- renderer.remove(child.elm, rootNode);
7188
+ remove$1(child.elm, rootNode);
7035
7189
  }
7036
7190
  }
7037
7191
 
@@ -7041,7 +7195,7 @@ function resetComponentRoot(vm) {
7041
7195
  }
7042
7196
 
7043
7197
  function scheduleRehydration(vm) {
7044
- if (isTrue(vm.renderer.ssr) || isTrue(vm.isScheduled)) {
7198
+ if (isTrue(ssr$1) || isTrue(vm.isScheduled)) {
7045
7199
  return;
7046
7200
  }
7047
7201
 
@@ -7268,7 +7422,6 @@ function createContextWatcher(vm, wireDef, callbackWhenContextIsReady) {
7268
7422
 
7269
7423
  const {
7270
7424
  elm,
7271
- renderer,
7272
7425
  context: {
7273
7426
  wiredConnecting,
7274
7427
  wiredDisconnecting
@@ -7295,7 +7448,7 @@ function createContextWatcher(vm, wireDef, callbackWhenContextIsReady) {
7295
7448
  }
7296
7449
 
7297
7450
  });
7298
- renderer.dispatchEvent(elm, contextRegistrationEvent);
7451
+ dispatchEvent$1(elm, contextRegistrationEvent);
7299
7452
  });
7300
7453
  }
7301
7454
 
@@ -7560,7 +7713,7 @@ function setHooks(hooks) {
7560
7713
  hooksAreSet = true;
7561
7714
  setSanitizeHtmlContentHook(hooks.sanitizeHtmlContent);
7562
7715
  }
7563
- /* version: 2.6.1 */
7716
+ /* version: 2.7.2 */
7564
7717
 
7565
7718
  /*
7566
7719
  * Copyright (c) 2020, salesforce.com, inc.
@@ -7634,7 +7787,7 @@ function registerCustomElement(name, ctor) {
7634
7787
  reverseRegistry.set(ctor, name);
7635
7788
  }
7636
7789
 
7637
- class HTMLElement$1 {
7790
+ class HTMLElementImpl {
7638
7791
  constructor() {
7639
7792
  const {
7640
7793
  constructor
@@ -7650,275 +7803,321 @@ class HTMLElement$1 {
7650
7803
 
7651
7804
  }
7652
7805
 
7653
- const renderer = {
7654
- ssr: true,
7806
+ const ssr = true;
7655
7807
 
7656
- isHydrating() {
7657
- return false;
7658
- },
7659
-
7660
- isNativeShadowDefined: false,
7661
- isSyntheticShadowDefined: false,
7808
+ function isHydrating() {
7809
+ return false;
7810
+ }
7662
7811
 
7663
- insert(node, parent, anchor) {
7664
- if (node.parent !== null && node.parent !== parent) {
7665
- const nodeIndex = node.parent.children.indexOf(node);
7666
- node.parent.children.splice(nodeIndex, 1);
7667
- }
7812
+ const isNativeShadowDefined = false;
7813
+ const isSyntheticShadowDefined = false;
7668
7814
 
7669
- node.parent = parent;
7670
- const anchorIndex = isNull(anchor) ? -1 : parent.children.indexOf(anchor);
7815
+ function insert(node, parent, anchor) {
7816
+ if (node.parent !== null && node.parent !== parent) {
7817
+ const nodeIndex = node.parent.children.indexOf(node);
7818
+ node.parent.children.splice(nodeIndex, 1);
7819
+ }
7671
7820
 
7672
- if (anchorIndex === -1) {
7673
- parent.children.push(node);
7674
- } else {
7675
- parent.children.splice(anchorIndex, 0, node);
7676
- }
7677
- },
7821
+ node.parent = parent;
7822
+ const anchorIndex = isNull(anchor) ? -1 : parent.children.indexOf(anchor);
7678
7823
 
7679
- remove(node, parent) {
7680
- const nodeIndex = parent.children.indexOf(node);
7681
- parent.children.splice(nodeIndex, 1);
7682
- },
7824
+ if (anchorIndex === -1) {
7825
+ parent.children.push(node);
7826
+ } else {
7827
+ parent.children.splice(anchorIndex, 0, node);
7828
+ }
7829
+ }
7683
7830
 
7684
- createElement,
7831
+ function remove(node, parent) {
7832
+ const nodeIndex = parent.children.indexOf(node);
7833
+ parent.children.splice(nodeIndex, 1);
7834
+ }
7685
7835
 
7686
- createText(content) {
7687
- return {
7688
- type: HostNodeType.Text,
7689
- value: String(content),
7690
- parent: null
7691
- };
7692
- },
7836
+ function createText(content) {
7837
+ return {
7838
+ type: HostNodeType.Text,
7839
+ value: String(content),
7840
+ parent: null
7841
+ };
7842
+ }
7693
7843
 
7694
- createComment(content) {
7695
- return {
7696
- type: HostNodeType.Comment,
7697
- value: content,
7698
- parent: null
7699
- };
7700
- },
7844
+ function createComment(content) {
7845
+ return {
7846
+ type: HostNodeType.Comment,
7847
+ value: content,
7848
+ parent: null
7849
+ };
7850
+ }
7701
7851
 
7702
- nextSibling(node) {
7703
- const {
7704
- parent
7705
- } = node;
7852
+ function nextSibling(node) {
7853
+ const {
7854
+ parent
7855
+ } = node;
7706
7856
 
7707
- if (isNull(parent)) {
7708
- return null;
7709
- }
7857
+ if (isNull(parent)) {
7858
+ return null;
7859
+ }
7710
7860
 
7711
- const nodeIndex = parent.children.indexOf(node);
7712
- return parent.children[nodeIndex + 1] || null;
7713
- },
7861
+ const nodeIndex = parent.children.indexOf(node);
7862
+ return parent.children[nodeIndex + 1] || null;
7863
+ }
7714
7864
 
7715
- attachShadow(element, config) {
7716
- element.shadowRoot = {
7717
- type: HostNodeType.ShadowRoot,
7718
- children: [],
7719
- mode: config.mode,
7720
- delegatesFocus: !!config.delegatesFocus
7721
- };
7722
- return element.shadowRoot;
7723
- },
7865
+ function attachShadow(element, config) {
7866
+ element.shadowRoot = {
7867
+ type: HostNodeType.ShadowRoot,
7868
+ children: [],
7869
+ mode: config.mode,
7870
+ delegatesFocus: !!config.delegatesFocus
7871
+ };
7872
+ return element.shadowRoot;
7873
+ }
7724
7874
 
7725
- getProperty(node, key) {
7726
- var _a, _b;
7875
+ function getProperty(node, key) {
7876
+ var _a, _b;
7727
7877
 
7728
- if (key in node) {
7729
- return node[key];
7730
- }
7878
+ if (key in node) {
7879
+ return node[key];
7880
+ }
7731
7881
 
7732
- if (node.type === HostNodeType.Element) {
7733
- const attrName = htmlPropertyToAttribute(key); // Handle all the boolean properties.
7882
+ if (node.type === HostNodeType.Element) {
7883
+ const attrName = htmlPropertyToAttribute(key); // Handle all the boolean properties.
7734
7884
 
7735
- if (isBooleanAttribute(attrName, node.name)) {
7736
- return (_a = this.getAttribute(node, attrName)) !== null && _a !== void 0 ? _a : false;
7737
- } // Handle global html attributes and AOM.
7885
+ if (isBooleanAttribute(attrName, node.name)) {
7886
+ return (_a = getAttribute(node, attrName)) !== null && _a !== void 0 ? _a : false;
7887
+ } // Handle global html attributes and AOM.
7738
7888
 
7739
7889
 
7740
- if (isGlobalHtmlAttribute(attrName) || isAriaAttribute(attrName)) {
7741
- return this.getAttribute(node, attrName);
7742
- } // Handle special elements live bindings. The checked property is already handled above
7743
- // in the boolean case.
7890
+ if (isGlobalHtmlAttribute(attrName) || isAriaAttribute(attrName)) {
7891
+ return getAttribute(node, attrName);
7892
+ } // Handle special elements live bindings. The checked property is already handled above
7893
+ // in the boolean case.
7744
7894
 
7745
7895
 
7746
- if (node.name === 'input' && key === 'value') {
7747
- return (_b = this.getAttribute(node, 'value')) !== null && _b !== void 0 ? _b : '';
7748
- }
7896
+ if (node.name === 'input' && key === 'value') {
7897
+ return (_b = getAttribute(node, 'value')) !== null && _b !== void 0 ? _b : '';
7749
7898
  }
7899
+ }
7750
7900
 
7751
- if (process.env.NODE_ENV !== 'production') {
7752
- // eslint-disable-next-line no-console
7753
- console.error(`Unexpected "${key}" property access from the renderer`);
7754
- }
7755
- },
7901
+ if (process.env.NODE_ENV !== 'production') {
7902
+ // eslint-disable-next-line no-console
7903
+ console.error(`Unexpected "${key}" property access from the renderer`);
7904
+ }
7905
+ }
7756
7906
 
7757
- setProperty(node, key, value) {
7758
- if (key in node) {
7759
- return node[key] = value;
7760
- }
7907
+ function setProperty(node, key, value) {
7908
+ if (key in node) {
7909
+ return node[key] = value;
7910
+ }
7761
7911
 
7762
- if (node.type === HostNodeType.Element) {
7763
- const attrName = htmlPropertyToAttribute(key);
7912
+ if (node.type === HostNodeType.Element) {
7913
+ const attrName = htmlPropertyToAttribute(key);
7764
7914
 
7765
- if (key === 'innerHTML') {
7766
- node.children = [{
7767
- type: HostNodeType.Raw,
7768
- parent: node,
7769
- value
7770
- }];
7771
- return;
7772
- } // Handle all the boolean properties.
7915
+ if (key === 'innerHTML') {
7916
+ node.children = [{
7917
+ type: HostNodeType.Raw,
7918
+ parent: node,
7919
+ value
7920
+ }];
7921
+ return;
7922
+ } // Handle all the boolean properties.
7773
7923
 
7774
7924
 
7775
- if (isBooleanAttribute(attrName, node.name)) {
7776
- return value === true ? this.setAttribute(node, attrName, '') : this.removeAttribute(node, attrName);
7777
- } // Handle global html attributes and AOM.
7925
+ if (isBooleanAttribute(attrName, node.name)) {
7926
+ return value === true ? setAttribute(node, attrName, '') : removeAttribute(node, attrName);
7927
+ } // Handle global html attributes and AOM.
7778
7928
 
7779
7929
 
7780
- if (isGlobalHtmlAttribute(attrName) || isAriaAttribute(attrName)) {
7781
- return this.setAttribute(node, attrName, value);
7782
- } // Handle special elements live bindings. The checked property is already handled above
7783
- // in the boolean case.
7930
+ if (isGlobalHtmlAttribute(attrName) || isAriaAttribute(attrName)) {
7931
+ return setAttribute(node, attrName, value);
7932
+ } // Handle special elements live bindings. The checked property is already handled above
7933
+ // in the boolean case.
7784
7934
 
7785
7935
 
7786
- if (node.name === 'input' && attrName === 'value') {
7787
- return isNull(value) || isUndefined$1(value) ? this.removeAttribute(node, 'value') : this.setAttribute(node, 'value', value);
7788
- }
7936
+ if (node.name === 'input' && attrName === 'value') {
7937
+ return isNull(value) || isUndefined$1(value) ? removeAttribute(node, 'value') : setAttribute(node, 'value', value);
7789
7938
  }
7939
+ }
7790
7940
 
7791
- if (process.env.NODE_ENV !== 'production') {
7792
- // eslint-disable-next-line no-console
7793
- console.error(`Unexpected attempt to set "${key}=${value}" property from the renderer`);
7794
- }
7795
- },
7941
+ if (process.env.NODE_ENV !== 'production') {
7942
+ // eslint-disable-next-line no-console
7943
+ console.error(`Unexpected attempt to set "${key}=${value}" property from the renderer`);
7944
+ }
7945
+ }
7796
7946
 
7797
- setText(node, content) {
7798
- if (node.type === HostNodeType.Text) {
7799
- node.value = content;
7800
- } else if (node.type === HostNodeType.Element) {
7801
- node.children = [{
7802
- type: HostNodeType.Text,
7803
- parent: node,
7804
- value: content
7805
- }];
7806
- }
7807
- },
7947
+ function setText(node, content) {
7948
+ if (node.type === HostNodeType.Text) {
7949
+ node.value = content;
7950
+ } else if (node.type === HostNodeType.Element) {
7951
+ node.children = [{
7952
+ type: HostNodeType.Text,
7953
+ parent: node,
7954
+ value: content
7955
+ }];
7956
+ }
7957
+ }
7808
7958
 
7809
- getAttribute(element, name, namespace = null) {
7810
- const attribute = element.attributes.find(attr => attr.name === name && attr.namespace === namespace);
7811
- return attribute ? attribute.value : null;
7812
- },
7959
+ function getAttribute(element, name, namespace = null) {
7960
+ const attribute = element.attributes.find(attr => attr.name === name && attr.namespace === namespace);
7961
+ return attribute ? attribute.value : null;
7962
+ }
7813
7963
 
7814
- setAttribute(element, name, value, namespace = null) {
7815
- const attribute = element.attributes.find(attr => attr.name === name && attr.namespace === namespace);
7964
+ function setAttribute(element, name, value, namespace = null) {
7965
+ const attribute = element.attributes.find(attr => attr.name === name && attr.namespace === namespace);
7816
7966
 
7817
- if (isUndefined$1(attribute)) {
7818
- element.attributes.push({
7819
- name,
7820
- namespace,
7821
- value: String(value)
7822
- });
7823
- } else {
7824
- attribute.value = value;
7967
+ if (isUndefined$1(namespace)) {
7968
+ namespace = null;
7969
+ }
7970
+
7971
+ if (isUndefined$1(attribute)) {
7972
+ element.attributes.push({
7973
+ name,
7974
+ namespace,
7975
+ value: String(value)
7976
+ });
7977
+ } else {
7978
+ attribute.value = value;
7979
+ }
7980
+ }
7981
+
7982
+ function removeAttribute(element, name, namespace) {
7983
+ element.attributes = element.attributes.filter(attr => attr.name !== name && attr.namespace !== namespace);
7984
+ }
7985
+
7986
+ function getClassList(element) {
7987
+ function getClassAttribute() {
7988
+ let classAttribute = element.attributes.find(attr => attr.name === 'class' && isNull(attr.namespace));
7989
+
7990
+ if (isUndefined$1(classAttribute)) {
7991
+ classAttribute = {
7992
+ name: 'class',
7993
+ namespace: null,
7994
+ value: ''
7995
+ };
7996
+ element.attributes.push(classAttribute);
7825
7997
  }
7826
- },
7827
7998
 
7828
- removeAttribute(element, name, namespace) {
7829
- element.attributes = element.attributes.filter(attr => attr.name !== name && attr.namespace !== namespace);
7830
- },
7999
+ return classAttribute;
8000
+ }
7831
8001
 
7832
- getClassList(element) {
7833
- function getClassAttribute() {
7834
- let classAttribute = element.attributes.find(attr => attr.name === 'class' && isNull(attr.namespace));
7835
-
7836
- if (isUndefined$1(classAttribute)) {
7837
- classAttribute = {
7838
- name: 'class',
7839
- namespace: null,
7840
- value: ''
7841
- };
7842
- element.attributes.push(classAttribute);
7843
- }
8002
+ return {
8003
+ add(...names) {
8004
+ const classAttribute = getClassAttribute();
8005
+ const tokenList = classNameToTokenList(classAttribute.value);
8006
+ names.forEach(name => tokenList.add(name));
8007
+ classAttribute.value = tokenListToClassName(tokenList);
8008
+ },
7844
8009
 
7845
- return classAttribute;
8010
+ remove(...names) {
8011
+ const classAttribute = getClassAttribute();
8012
+ const tokenList = classNameToTokenList(classAttribute.value);
8013
+ names.forEach(name => tokenList.delete(name));
8014
+ classAttribute.value = tokenListToClassName(tokenList);
7846
8015
  }
7847
8016
 
7848
- return {
7849
- add(...names) {
7850
- const classAttribute = getClassAttribute();
7851
- const tokenList = classNameToTokenList(classAttribute.value);
7852
- names.forEach(name => tokenList.add(name));
7853
- classAttribute.value = tokenListToClassName(tokenList);
7854
- },
8017
+ };
8018
+ }
7855
8019
 
7856
- remove(...names) {
7857
- const classAttribute = getClassAttribute();
7858
- const tokenList = classNameToTokenList(classAttribute.value);
7859
- names.forEach(name => tokenList.delete(name));
7860
- classAttribute.value = tokenListToClassName(tokenList);
7861
- }
8020
+ function setCSSStyleProperty(element, name, value, important) {
8021
+ const styleAttribute = element.attributes.find(attr => attr.name === 'style' && isNull(attr.namespace));
8022
+ const serializedProperty = `${name}: ${value}${important ? ' !important' : ''}`;
7862
8023
 
7863
- };
7864
- },
8024
+ if (isUndefined$1(styleAttribute)) {
8025
+ element.attributes.push({
8026
+ name: 'style',
8027
+ namespace: null,
8028
+ value: serializedProperty
8029
+ });
8030
+ } else {
8031
+ styleAttribute.value += `; ${serializedProperty}`;
8032
+ }
8033
+ }
7865
8034
 
7866
- setCSSStyleProperty(element, name, value, important) {
7867
- const styleAttribute = element.attributes.find(attr => attr.name === 'style' && isNull(attr.namespace));
7868
- const serializedProperty = `${name}: ${value}${important ? ' !important' : ''}`;
8035
+ function isConnected(node) {
8036
+ return !isNull(node.parent);
8037
+ } // Noop on SSR (for now). This need to be reevaluated whenever we will implement support for
8038
+ // synthetic shadow.
7869
8039
 
7870
- if (isUndefined$1(styleAttribute)) {
7871
- element.attributes.push({
7872
- name: 'style',
7873
- namespace: null,
7874
- value: serializedProperty
7875
- });
7876
- } else {
7877
- styleAttribute.value += `; ${serializedProperty}`;
7878
- }
7879
- },
7880
8040
 
7881
- isConnected(node) {
7882
- return !isNull(node.parent);
7883
- },
8041
+ const insertGlobalStylesheet = noop; // Noop on SSR (for now). This need to be reevaluated whenever we will implement support for
8042
+ // synthetic shadow.
7884
8043
 
7885
- insertGlobalStylesheet() {// Noop on SSR (for now). This need to be reevaluated whenever we will implement support for
7886
- // synthetic shadow.
7887
- },
8044
+ const insertStylesheet = noop; // Noop on SSR.
7888
8045
 
7889
- insertStylesheet() {// Noop on SSR (for now). This need to be reevaluated whenever we will implement support for
7890
- // synthetic shadow.
7891
- },
8046
+ const addEventListener = noop; // Noop on SSR.
7892
8047
 
7893
- addEventListener() {// Noop on SSR.
7894
- },
8048
+ const removeEventListener = noop;
8049
+ const dispatchEvent = unsupportedMethod('dispatchEvent');
8050
+ const getBoundingClientRect = unsupportedMethod('getBoundingClientRect');
8051
+ const querySelector = unsupportedMethod('querySelector');
8052
+ const querySelectorAll = unsupportedMethod('querySelectorAll');
8053
+ const getElementsByTagName = unsupportedMethod('getElementsByTagName');
8054
+ const getElementsByClassName = unsupportedMethod('getElementsByClassName');
8055
+ const getChildren = unsupportedMethod('getChildren');
8056
+ const getChildNodes = unsupportedMethod('getChildNodes');
8057
+ const getFirstChild = unsupportedMethod('getFirstChild');
8058
+ const getFirstElementChild = unsupportedMethod('getFirstElementChild');
8059
+ const getLastChild = unsupportedMethod('getLastChild');
8060
+ const getLastElementChild = unsupportedMethod('getLastElementChild');
7895
8061
 
7896
- removeEventListener() {// Noop on SSR.
7897
- },
8062
+ function defineCustomElement(name, constructor, _options) {
8063
+ registerCustomElement(name, constructor);
8064
+ }
7898
8065
 
7899
- dispatchEvent: unsupportedMethod('dispatchEvent'),
7900
- getBoundingClientRect: unsupportedMethod('getBoundingClientRect'),
7901
- querySelector: unsupportedMethod('querySelector'),
7902
- querySelectorAll: unsupportedMethod('querySelectorAll'),
7903
- getElementsByTagName: unsupportedMethod('getElementsByTagName'),
7904
- getElementsByClassName: unsupportedMethod('getElementsByClassName'),
7905
- getChildren: unsupportedMethod('getChildren'),
7906
- getChildNodes: unsupportedMethod('getChildNodes'),
7907
- getFirstChild: unsupportedMethod('getFirstChild'),
7908
- getFirstElementChild: unsupportedMethod('getFirstElementChild'),
7909
- getLastChild: unsupportedMethod('getLastChild'),
7910
- getLastElementChild: unsupportedMethod('getLastElementChild'),
7911
-
7912
- defineCustomElement(name, constructor, _options) {
7913
- registerCustomElement(name, constructor);
7914
- },
8066
+ function getCustomElement(name) {
8067
+ return registry[name];
8068
+ }
7915
8069
 
7916
- getCustomElement(name) {
7917
- return registry[name];
7918
- },
8070
+ const HTMLElementExported = HTMLElementImpl;
8071
+ /* noop */
7919
8072
 
7920
- HTMLElement: HTMLElement$1
7921
- };
8073
+ const assertInstanceOfHTMLElement = noop;
8074
+ /*
8075
+ * Copyright (c) 2020, salesforce.com, inc.
8076
+ * All rights reserved.
8077
+ * SPDX-License-Identifier: MIT
8078
+ * For full license text, see the LICENSE file in the repo root or https://opensource.org/licenses/MIT
8079
+ */
8080
+
8081
+ setAssertInstanceOfHTMLElement(assertInstanceOfHTMLElement);
8082
+ setAttachShadow(attachShadow);
8083
+ setCreateComment(createComment);
8084
+ setCreateElement(createElement);
8085
+ setCreateText(createText);
8086
+ setDefineCustomElement(defineCustomElement);
8087
+ setDispatchEvent(dispatchEvent);
8088
+ setGetAttribute(getAttribute);
8089
+ setGetBoundingClientRect(getBoundingClientRect);
8090
+ setGetChildNodes(getChildNodes);
8091
+ setGetChildren(getChildren);
8092
+ setGetClassList(getClassList);
8093
+ setGetCustomElement(getCustomElement);
8094
+ setGetElementsByClassName(getElementsByClassName);
8095
+ setGetElementsByTagName(getElementsByTagName);
8096
+ setGetFirstChild(getFirstChild);
8097
+ setGetFirstElementChild(getFirstElementChild);
8098
+ setGetLastChild(getLastChild);
8099
+ setGetLastElementChild(getLastElementChild);
8100
+ setGetProperty(getProperty);
8101
+ setHTMLElement(HTMLElementExported);
8102
+ setInsert(insert);
8103
+ setInsertGlobalStylesheet(insertGlobalStylesheet);
8104
+ setInsertStylesheet(insertStylesheet);
8105
+ setIsConnected(isConnected);
8106
+ setIsHydrating(isHydrating);
8107
+ setIsNativeShadowDefined(isNativeShadowDefined);
8108
+ setIsSyntheticShadowDefined(isSyntheticShadowDefined);
8109
+ setNextSibling(nextSibling);
8110
+ setQuerySelector(querySelector);
8111
+ setQuerySelectorAll(querySelectorAll);
8112
+ setRemove(remove);
8113
+ setRemoveAttribute(removeAttribute);
8114
+ setRemoveEventListener(removeEventListener);
8115
+ setSetAttribute(setAttribute);
8116
+ setSetCSSStyleProperty(setCSSStyleProperty);
8117
+ setSetProperty(setProperty);
8118
+ setSetText(setText);
8119
+ setSsr(ssr);
8120
+ setAddEventListener(addEventListener);
7922
8121
  /*
7923
8122
  * Copyright (c) 2020, salesforce.com, inc.
7924
8123
  * All rights reserved.
@@ -8029,12 +8228,11 @@ function renderComponent(tagName, Ctor, props = {}) {
8029
8228
  throw new TypeError(`"renderComponent" expects an object as the third parameter but instead received ${props}.`);
8030
8229
  }
8031
8230
 
8032
- const element = renderer.createElement(tagName);
8231
+ const element = createElement(tagName);
8033
8232
  const def = getComponentInternalDef(Ctor);
8034
8233
  createVM(element, def, {
8035
8234
  mode: 'open',
8036
8235
  owner: null,
8037
- renderer,
8038
8236
  tagName
8039
8237
  });
8040
8238
 
@@ -8056,6 +8254,6 @@ function renderComponent(tagName, Ctor, props = {}) {
8056
8254
 
8057
8255
  freeze(LightningElement);
8058
8256
  seal(LightningElement.prototype);
8059
- /* version: 2.6.1 */
8257
+ /* version: 2.7.2 */
8060
8258
 
8061
8259
  export { LightningElement, api$1 as api, createContextProvider, getComponentDef, isComponentConstructor, readonly, register, registerComponent, registerDecorators, registerTemplate, renderComponent, sanitizeAttribute, setFeatureFlag, setFeatureFlagForTest, setHooks, track, unwrap, wire };