lwc 2.14.0 → 2.15.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.
- package/dist/engine-dom/esm/es2017/engine-dom.js +637 -554
- package/dist/engine-dom/iife/es2017/engine-dom.js +639 -553
- package/dist/engine-dom/iife/es2017/engine-dom.min.js +1 -1
- package/dist/engine-dom/iife/es2017/engine-dom_debug.js +574 -497
- package/dist/engine-dom/iife/es5/engine-dom.js +807 -694
- package/dist/engine-dom/iife/es5/engine-dom.min.js +1 -1
- package/dist/engine-dom/iife/es5/engine-dom_debug.js +729 -634
- package/dist/engine-dom/umd/es2017/engine-dom.js +639 -553
- package/dist/engine-dom/umd/es2017/engine-dom.min.js +1 -1
- package/dist/engine-dom/umd/es2017/engine-dom_debug.js +574 -497
- package/dist/engine-dom/umd/es5/engine-dom.js +807 -694
- package/dist/engine-dom/umd/es5/engine-dom.min.js +1 -1
- package/dist/engine-dom/umd/es5/engine-dom_debug.js +729 -634
- package/dist/engine-server/commonjs/es2017/engine-server.js +494 -473
- package/dist/engine-server/commonjs/es2017/engine-server.min.js +1 -1
- package/dist/engine-server/esm/es2017/engine-server.js +492 -474
- package/dist/synthetic-shadow/esm/es2017/synthetic-shadow.js +24 -4
- package/dist/synthetic-shadow/iife/es2017/synthetic-shadow.js +24 -4
- package/dist/synthetic-shadow/iife/es2017/synthetic-shadow.min.js +2 -2
- package/dist/synthetic-shadow/iife/es2017/synthetic-shadow_debug.js +24 -4
- package/dist/synthetic-shadow/iife/es5/synthetic-shadow.js +29 -3
- package/dist/synthetic-shadow/iife/es5/synthetic-shadow.min.js +2 -2
- package/dist/synthetic-shadow/iife/es5/synthetic-shadow_debug.js +29 -3
- package/dist/synthetic-shadow/umd/es2017/synthetic-shadow.js +24 -4
- package/dist/synthetic-shadow/umd/es2017/synthetic-shadow.min.js +2 -2
- package/dist/synthetic-shadow/umd/es2017/synthetic-shadow_debug.js +24 -4
- package/dist/synthetic-shadow/umd/es5/synthetic-shadow.js +29 -3
- package/dist/synthetic-shadow/umd/es5/synthetic-shadow.min.js +2 -2
- package/dist/synthetic-shadow/umd/es5/synthetic-shadow_debug.js +29 -3
- package/dist/wire-service/esm/es2017/wire-service.js +2 -2
- package/dist/wire-service/iife/es2017/wire-service.js +2 -2
- package/dist/wire-service/iife/es2017/wire-service_debug.js +2 -2
- package/dist/wire-service/iife/es5/wire-service.js +2 -2
- package/dist/wire-service/iife/es5/wire-service_debug.js +2 -2
- package/dist/wire-service/umd/es2017/wire-service.js +2 -2
- package/dist/wire-service/umd/es2017/wire-service_debug.js +2 -2
- package/dist/wire-service/umd/es5/wire-service.js +2 -2
- package/dist/wire-service/umd/es5/wire-service_debug.js +2 -2
- package/package.json +7 -7
|
@@ -295,6 +295,7 @@
|
|
|
295
295
|
|
|
296
296
|
var KEY__IS_NATIVE_SHADOW_ROOT_DEFINED = '$isNativeShadowRootDefined$';
|
|
297
297
|
var KEY__SHADOW_RESOLVER = '$shadowResolver$';
|
|
298
|
+
var KEY__SHADOW_STATIC = '$shadowStaticNode$';
|
|
298
299
|
var KEY__SHADOW_TOKEN = '$shadowToken$';
|
|
299
300
|
var KEY__SYNTHETIC_MODE = '$$lwc-synthetic-mode';
|
|
300
301
|
var KEY__SCOPED_CSS = '$scoped$';
|
|
@@ -350,7 +351,7 @@
|
|
|
350
351
|
var XML_NAMESPACE = 'http://www.w3.org/XML/1998/namespace';
|
|
351
352
|
var SVG_NAMESPACE = 'http://www.w3.org/2000/svg';
|
|
352
353
|
var XLINK_NAMESPACE = 'http://www.w3.org/1999/xlink';
|
|
353
|
-
/** version: 2.
|
|
354
|
+
/** version: 2.15.0 */
|
|
354
355
|
|
|
355
356
|
/*
|
|
356
357
|
* Copyright (c) 2018, salesforce.com, inc.
|
|
@@ -611,231 +612,6 @@
|
|
|
611
612
|
|
|
612
613
|
return result;
|
|
613
614
|
}
|
|
614
|
-
// Primitives
|
|
615
|
-
//
|
|
616
|
-
|
|
617
|
-
|
|
618
|
-
var ssr$1;
|
|
619
|
-
|
|
620
|
-
function setSsr(ssrImpl) {
|
|
621
|
-
ssr$1 = ssrImpl;
|
|
622
|
-
}
|
|
623
|
-
|
|
624
|
-
var isNativeShadowDefined$1;
|
|
625
|
-
|
|
626
|
-
function setIsNativeShadowDefined(isNativeShadowDefinedImpl) {
|
|
627
|
-
isNativeShadowDefined$1 = isNativeShadowDefinedImpl;
|
|
628
|
-
}
|
|
629
|
-
|
|
630
|
-
var isSyntheticShadowDefined$1;
|
|
631
|
-
|
|
632
|
-
function setIsSyntheticShadowDefined(isSyntheticShadowDefinedImpl) {
|
|
633
|
-
isSyntheticShadowDefined$1 = isSyntheticShadowDefinedImpl;
|
|
634
|
-
}
|
|
635
|
-
|
|
636
|
-
var HTMLElementExported$1;
|
|
637
|
-
|
|
638
|
-
function setHTMLElement(HTMLElementImpl) {
|
|
639
|
-
HTMLElementExported$1 = HTMLElementImpl;
|
|
640
|
-
}
|
|
641
|
-
|
|
642
|
-
var insert$1;
|
|
643
|
-
|
|
644
|
-
function setInsert(insertImpl) {
|
|
645
|
-
insert$1 = insertImpl;
|
|
646
|
-
}
|
|
647
|
-
|
|
648
|
-
var remove$1;
|
|
649
|
-
|
|
650
|
-
function setRemove(removeImpl) {
|
|
651
|
-
remove$1 = removeImpl;
|
|
652
|
-
}
|
|
653
|
-
|
|
654
|
-
var createElement$2;
|
|
655
|
-
|
|
656
|
-
function setCreateElement(createElementImpl) {
|
|
657
|
-
createElement$2 = createElementImpl;
|
|
658
|
-
}
|
|
659
|
-
|
|
660
|
-
var createText$1;
|
|
661
|
-
|
|
662
|
-
function setCreateText(createTextImpl) {
|
|
663
|
-
createText$1 = createTextImpl;
|
|
664
|
-
}
|
|
665
|
-
|
|
666
|
-
var createComment$1;
|
|
667
|
-
|
|
668
|
-
function setCreateComment(createCommentImpl) {
|
|
669
|
-
createComment$1 = createCommentImpl;
|
|
670
|
-
}
|
|
671
|
-
|
|
672
|
-
var nextSibling$1;
|
|
673
|
-
|
|
674
|
-
function setNextSibling(nextSiblingImpl) {
|
|
675
|
-
nextSibling$1 = nextSiblingImpl;
|
|
676
|
-
}
|
|
677
|
-
|
|
678
|
-
var attachShadow$1;
|
|
679
|
-
|
|
680
|
-
function setAttachShadow(attachShadowImpl) {
|
|
681
|
-
attachShadow$1 = attachShadowImpl;
|
|
682
|
-
}
|
|
683
|
-
|
|
684
|
-
var getProperty$1;
|
|
685
|
-
|
|
686
|
-
function setGetProperty(getPropertyImpl) {
|
|
687
|
-
getProperty$1 = getPropertyImpl;
|
|
688
|
-
}
|
|
689
|
-
|
|
690
|
-
var setProperty$1;
|
|
691
|
-
|
|
692
|
-
function setSetProperty(setPropertyImpl) {
|
|
693
|
-
setProperty$1 = setPropertyImpl;
|
|
694
|
-
}
|
|
695
|
-
|
|
696
|
-
var setText$1;
|
|
697
|
-
|
|
698
|
-
function setSetText(setTextImpl) {
|
|
699
|
-
setText$1 = setTextImpl;
|
|
700
|
-
}
|
|
701
|
-
|
|
702
|
-
var getAttribute$1;
|
|
703
|
-
|
|
704
|
-
function setGetAttribute(getAttributeImpl) {
|
|
705
|
-
getAttribute$1 = getAttributeImpl;
|
|
706
|
-
}
|
|
707
|
-
|
|
708
|
-
var setAttribute$1;
|
|
709
|
-
|
|
710
|
-
function setSetAttribute(setAttributeImpl) {
|
|
711
|
-
setAttribute$1 = setAttributeImpl;
|
|
712
|
-
}
|
|
713
|
-
|
|
714
|
-
var removeAttribute$1;
|
|
715
|
-
|
|
716
|
-
function setRemoveAttribute(removeAttributeImpl) {
|
|
717
|
-
removeAttribute$1 = removeAttributeImpl;
|
|
718
|
-
}
|
|
719
|
-
|
|
720
|
-
var addEventListener$1;
|
|
721
|
-
|
|
722
|
-
function setAddEventListener(addEventListenerImpl) {
|
|
723
|
-
addEventListener$1 = addEventListenerImpl;
|
|
724
|
-
}
|
|
725
|
-
|
|
726
|
-
var removeEventListener$1;
|
|
727
|
-
|
|
728
|
-
function setRemoveEventListener(removeEventListenerImpl) {
|
|
729
|
-
removeEventListener$1 = removeEventListenerImpl;
|
|
730
|
-
}
|
|
731
|
-
|
|
732
|
-
var dispatchEvent$1;
|
|
733
|
-
|
|
734
|
-
function setDispatchEvent(dispatchEventImpl) {
|
|
735
|
-
dispatchEvent$1 = dispatchEventImpl;
|
|
736
|
-
}
|
|
737
|
-
|
|
738
|
-
var getClassList$1;
|
|
739
|
-
|
|
740
|
-
function setGetClassList(getClassListImpl) {
|
|
741
|
-
getClassList$1 = getClassListImpl;
|
|
742
|
-
}
|
|
743
|
-
|
|
744
|
-
var setCSSStyleProperty$1;
|
|
745
|
-
|
|
746
|
-
function setSetCSSStyleProperty(setCSSStylePropertyImpl) {
|
|
747
|
-
setCSSStyleProperty$1 = setCSSStylePropertyImpl;
|
|
748
|
-
}
|
|
749
|
-
|
|
750
|
-
var getBoundingClientRect$1;
|
|
751
|
-
|
|
752
|
-
function setGetBoundingClientRect(getBoundingClientRectImpl) {
|
|
753
|
-
getBoundingClientRect$1 = getBoundingClientRectImpl;
|
|
754
|
-
}
|
|
755
|
-
|
|
756
|
-
var querySelector$1;
|
|
757
|
-
|
|
758
|
-
function setQuerySelector(querySelectorImpl) {
|
|
759
|
-
querySelector$1 = querySelectorImpl;
|
|
760
|
-
}
|
|
761
|
-
|
|
762
|
-
var querySelectorAll$1;
|
|
763
|
-
|
|
764
|
-
function setQuerySelectorAll(querySelectorAllImpl) {
|
|
765
|
-
querySelectorAll$1 = querySelectorAllImpl;
|
|
766
|
-
}
|
|
767
|
-
|
|
768
|
-
var getElementsByTagName$1;
|
|
769
|
-
|
|
770
|
-
function setGetElementsByTagName(getElementsByTagNameImpl) {
|
|
771
|
-
getElementsByTagName$1 = getElementsByTagNameImpl;
|
|
772
|
-
}
|
|
773
|
-
|
|
774
|
-
var getElementsByClassName$1;
|
|
775
|
-
|
|
776
|
-
function setGetElementsByClassName(getElementsByClassNameImpl) {
|
|
777
|
-
getElementsByClassName$1 = getElementsByClassNameImpl;
|
|
778
|
-
}
|
|
779
|
-
|
|
780
|
-
var getChildren$1;
|
|
781
|
-
|
|
782
|
-
function setGetChildren(getChildrenImpl) {
|
|
783
|
-
getChildren$1 = getChildrenImpl;
|
|
784
|
-
}
|
|
785
|
-
|
|
786
|
-
var getChildNodes$1;
|
|
787
|
-
|
|
788
|
-
function setGetChildNodes(getChildNodesImpl) {
|
|
789
|
-
getChildNodes$1 = getChildNodesImpl;
|
|
790
|
-
}
|
|
791
|
-
|
|
792
|
-
var getFirstChild$1;
|
|
793
|
-
|
|
794
|
-
function setGetFirstChild(getFirstChildImpl) {
|
|
795
|
-
getFirstChild$1 = getFirstChildImpl;
|
|
796
|
-
}
|
|
797
|
-
|
|
798
|
-
var getFirstElementChild$1;
|
|
799
|
-
|
|
800
|
-
function setGetFirstElementChild(getFirstElementChildImpl) {
|
|
801
|
-
getFirstElementChild$1 = getFirstElementChildImpl;
|
|
802
|
-
}
|
|
803
|
-
|
|
804
|
-
var getLastChild$1;
|
|
805
|
-
|
|
806
|
-
function setGetLastChild(getLastChildImpl) {
|
|
807
|
-
getLastChild$1 = getLastChildImpl;
|
|
808
|
-
}
|
|
809
|
-
|
|
810
|
-
var getLastElementChild$1;
|
|
811
|
-
|
|
812
|
-
function setGetLastElementChild(getLastElementChildImpl) {
|
|
813
|
-
getLastElementChild$1 = getLastElementChildImpl;
|
|
814
|
-
}
|
|
815
|
-
|
|
816
|
-
var isConnected$1;
|
|
817
|
-
|
|
818
|
-
function setIsConnected(isConnectedImpl) {
|
|
819
|
-
isConnected$1 = isConnectedImpl;
|
|
820
|
-
}
|
|
821
|
-
|
|
822
|
-
var insertStylesheet$1;
|
|
823
|
-
|
|
824
|
-
function setInsertStylesheet(insertStylesheetImpl) {
|
|
825
|
-
insertStylesheet$1 = insertStylesheetImpl;
|
|
826
|
-
}
|
|
827
|
-
|
|
828
|
-
var defineCustomElement$1;
|
|
829
|
-
|
|
830
|
-
function setDefineCustomElement(defineCustomElementImpl) {
|
|
831
|
-
defineCustomElement$1 = defineCustomElementImpl;
|
|
832
|
-
}
|
|
833
|
-
|
|
834
|
-
var getCustomElement$1;
|
|
835
|
-
|
|
836
|
-
function setGetCustomElement(getCustomElementImpl) {
|
|
837
|
-
getCustomElement$1 = getCustomElementImpl;
|
|
838
|
-
}
|
|
839
615
|
/*
|
|
840
616
|
* Copyright (c) 2019, salesforce.com, inc.
|
|
841
617
|
* All rights reserved.
|
|
@@ -2013,13 +1789,14 @@
|
|
|
2013
1789
|
};
|
|
2014
1790
|
|
|
2015
1791
|
function doAttachShadow(vm) {
|
|
2016
|
-
var _attachShadow
|
|
1792
|
+
var _attachShadow;
|
|
2017
1793
|
|
|
2018
1794
|
var elm = vm.elm,
|
|
2019
1795
|
mode = vm.mode,
|
|
2020
1796
|
shadowMode = vm.shadowMode,
|
|
2021
|
-
ctor = vm.def.ctor
|
|
2022
|
-
|
|
1797
|
+
ctor = vm.def.ctor,
|
|
1798
|
+
attachShadow = vm.renderer.attachShadow;
|
|
1799
|
+
var shadowRoot = attachShadow(elm, (_attachShadow = {}, _defineProperty(_attachShadow, KEY__SYNTHETIC_MODE, shadowMode === 1), _defineProperty(_attachShadow, "delegatesFocus", Boolean(ctor.delegatesFocus)), _defineProperty(_attachShadow, "mode", mode), _attachShadow));
|
|
2023
1800
|
vm.shadowRoot = shadowRoot;
|
|
2024
1801
|
associateVM(shadowRoot, vm);
|
|
2025
1802
|
|
|
@@ -2030,99 +1807,106 @@
|
|
|
2030
1807
|
LightningElement.prototype = {
|
|
2031
1808
|
constructor: LightningElement,
|
|
2032
1809
|
dispatchEvent: function dispatchEvent(event) {
|
|
2033
|
-
var
|
|
2034
|
-
|
|
2035
|
-
|
|
2036
|
-
return dispatchEvent
|
|
1810
|
+
var vm = getAssociatedVM(this);
|
|
1811
|
+
var elm = vm.elm,
|
|
1812
|
+
dispatchEvent = vm.renderer.dispatchEvent;
|
|
1813
|
+
return dispatchEvent(elm, event);
|
|
2037
1814
|
},
|
|
2038
1815
|
addEventListener: function addEventListener(type, listener, options) {
|
|
2039
1816
|
var vm = getAssociatedVM(this);
|
|
2040
|
-
var elm = vm.elm
|
|
1817
|
+
var elm = vm.elm,
|
|
1818
|
+
addEventListener = vm.renderer.addEventListener;
|
|
2041
1819
|
|
|
2042
1820
|
var wrappedListener = getWrappedComponentsListener(vm, listener);
|
|
2043
|
-
addEventListener
|
|
1821
|
+
addEventListener(elm, type, wrappedListener, options);
|
|
2044
1822
|
},
|
|
2045
1823
|
removeEventListener: function removeEventListener(type, listener, options) {
|
|
2046
1824
|
var vm = getAssociatedVM(this);
|
|
2047
|
-
var elm = vm.elm
|
|
1825
|
+
var elm = vm.elm,
|
|
1826
|
+
removeEventListener = vm.renderer.removeEventListener;
|
|
2048
1827
|
var wrappedListener = getWrappedComponentsListener(vm, listener);
|
|
2049
|
-
removeEventListener
|
|
1828
|
+
removeEventListener(elm, type, wrappedListener, options);
|
|
2050
1829
|
},
|
|
2051
1830
|
hasAttribute: function hasAttribute(name) {
|
|
2052
|
-
var
|
|
2053
|
-
|
|
2054
|
-
|
|
2055
|
-
return !isNull(getAttribute
|
|
1831
|
+
var vm = getAssociatedVM(this);
|
|
1832
|
+
var elm = vm.elm,
|
|
1833
|
+
getAttribute = vm.renderer.getAttribute;
|
|
1834
|
+
return !isNull(getAttribute(elm, name));
|
|
2056
1835
|
},
|
|
2057
1836
|
hasAttributeNS: function hasAttributeNS(namespace, name) {
|
|
2058
|
-
var
|
|
2059
|
-
|
|
2060
|
-
|
|
2061
|
-
return !isNull(getAttribute
|
|
1837
|
+
var vm = getAssociatedVM(this);
|
|
1838
|
+
var elm = vm.elm,
|
|
1839
|
+
getAttribute = vm.renderer.getAttribute;
|
|
1840
|
+
return !isNull(getAttribute(elm, name, namespace));
|
|
2062
1841
|
},
|
|
2063
1842
|
removeAttribute: function removeAttribute(name) {
|
|
2064
|
-
var
|
|
2065
|
-
|
|
2066
|
-
|
|
1843
|
+
var vm = getAssociatedVM(this);
|
|
1844
|
+
var elm = vm.elm,
|
|
1845
|
+
removeAttribute = vm.renderer.removeAttribute;
|
|
2067
1846
|
unlockAttribute(elm, name);
|
|
2068
|
-
removeAttribute
|
|
1847
|
+
removeAttribute(elm, name);
|
|
2069
1848
|
lockAttribute();
|
|
2070
1849
|
},
|
|
2071
1850
|
removeAttributeNS: function removeAttributeNS(namespace, name) {
|
|
2072
|
-
var
|
|
2073
|
-
elm =
|
|
1851
|
+
var _getAssociatedVM = getAssociatedVM(this),
|
|
1852
|
+
elm = _getAssociatedVM.elm,
|
|
1853
|
+
removeAttribute = _getAssociatedVM.renderer.removeAttribute;
|
|
2074
1854
|
|
|
2075
1855
|
unlockAttribute(elm, name);
|
|
2076
|
-
removeAttribute
|
|
1856
|
+
removeAttribute(elm, name, namespace);
|
|
2077
1857
|
lockAttribute();
|
|
2078
1858
|
},
|
|
2079
1859
|
getAttribute: function getAttribute(name) {
|
|
2080
|
-
var
|
|
2081
|
-
|
|
2082
|
-
|
|
2083
|
-
return getAttribute
|
|
1860
|
+
var vm = getAssociatedVM(this);
|
|
1861
|
+
var elm = vm.elm;
|
|
1862
|
+
var getAttribute = vm.renderer.getAttribute;
|
|
1863
|
+
return getAttribute(elm, name);
|
|
2084
1864
|
},
|
|
2085
1865
|
getAttributeNS: function getAttributeNS(namespace, name) {
|
|
2086
|
-
var
|
|
2087
|
-
|
|
2088
|
-
|
|
2089
|
-
return getAttribute
|
|
1866
|
+
var vm = getAssociatedVM(this);
|
|
1867
|
+
var elm = vm.elm;
|
|
1868
|
+
var getAttribute = vm.renderer.getAttribute;
|
|
1869
|
+
return getAttribute(elm, name, namespace);
|
|
2090
1870
|
},
|
|
2091
1871
|
setAttribute: function setAttribute(name, value) {
|
|
2092
1872
|
var vm = getAssociatedVM(this);
|
|
2093
|
-
var elm = vm.elm
|
|
1873
|
+
var elm = vm.elm,
|
|
1874
|
+
setAttribute = vm.renderer.setAttribute;
|
|
2094
1875
|
|
|
2095
1876
|
unlockAttribute(elm, name);
|
|
2096
|
-
setAttribute
|
|
1877
|
+
setAttribute(elm, name, value);
|
|
2097
1878
|
lockAttribute();
|
|
2098
1879
|
},
|
|
2099
1880
|
setAttributeNS: function setAttributeNS(namespace, name, value) {
|
|
2100
1881
|
var vm = getAssociatedVM(this);
|
|
2101
|
-
var elm = vm.elm
|
|
1882
|
+
var elm = vm.elm,
|
|
1883
|
+
setAttribute = vm.renderer.setAttribute;
|
|
2102
1884
|
|
|
2103
1885
|
unlockAttribute(elm, name);
|
|
2104
|
-
setAttribute
|
|
1886
|
+
setAttribute(elm, name, value, namespace);
|
|
2105
1887
|
lockAttribute();
|
|
2106
1888
|
},
|
|
2107
1889
|
getBoundingClientRect: function getBoundingClientRect() {
|
|
2108
1890
|
var vm = getAssociatedVM(this);
|
|
2109
|
-
var elm = vm.elm
|
|
1891
|
+
var elm = vm.elm,
|
|
1892
|
+
getBoundingClientRect = vm.renderer.getBoundingClientRect;
|
|
2110
1893
|
|
|
2111
|
-
return getBoundingClientRect
|
|
1894
|
+
return getBoundingClientRect(elm);
|
|
2112
1895
|
},
|
|
2113
1896
|
|
|
2114
1897
|
get isConnected() {
|
|
2115
|
-
var
|
|
2116
|
-
|
|
2117
|
-
|
|
2118
|
-
return isConnected
|
|
1898
|
+
var vm = getAssociatedVM(this);
|
|
1899
|
+
var elm = vm.elm,
|
|
1900
|
+
isConnected = vm.renderer.isConnected;
|
|
1901
|
+
return isConnected(elm);
|
|
2119
1902
|
},
|
|
2120
1903
|
|
|
2121
1904
|
get classList() {
|
|
2122
1905
|
var vm = getAssociatedVM(this);
|
|
2123
|
-
var elm = vm.elm
|
|
1906
|
+
var elm = vm.elm,
|
|
1907
|
+
getClassList = vm.renderer.getClassList;
|
|
2124
1908
|
|
|
2125
|
-
return getClassList
|
|
1909
|
+
return getClassList(elm);
|
|
2126
1910
|
},
|
|
2127
1911
|
|
|
2128
1912
|
get template() {
|
|
@@ -2137,89 +1921,69 @@
|
|
|
2137
1921
|
return null;
|
|
2138
1922
|
},
|
|
2139
1923
|
|
|
2140
|
-
|
|
2141
|
-
var vm = getAssociatedVM(this);
|
|
2142
|
-
return vm.def.template;
|
|
2143
|
-
},
|
|
2144
|
-
toString: function toString() {
|
|
1924
|
+
get children() {
|
|
2145
1925
|
var vm = getAssociatedVM(this);
|
|
2146
|
-
|
|
2147
|
-
}
|
|
2148
|
-
};
|
|
2149
|
-
var queryAndChildGetterDescriptors = create(null); // The reason we don't just call `import * as renderer from '../renderer'` here is that the bundle size
|
|
2150
|
-
// is smaller if we reference each function individually. Otherwise Rollup will create one big frozen
|
|
2151
|
-
// object representing the renderer, with a lot of methods we don't actually need.
|
|
1926
|
+
var renderer = vm.renderer;
|
|
2152
1927
|
|
|
2153
|
-
|
|
2154
|
-
|
|
2155
|
-
function getChildGetter(methodName) {
|
|
2156
|
-
switch (methodName) {
|
|
2157
|
-
case 'children':
|
|
2158
|
-
return getChildren$1;
|
|
2159
|
-
|
|
2160
|
-
case 'childNodes':
|
|
2161
|
-
return getChildNodes$1;
|
|
2162
|
-
|
|
2163
|
-
case 'firstChild':
|
|
2164
|
-
return getFirstChild$1;
|
|
2165
|
-
|
|
2166
|
-
case 'firstElementChild':
|
|
2167
|
-
return getFirstElementChild$1;
|
|
1928
|
+
return renderer.getChildren(vm.elm);
|
|
1929
|
+
},
|
|
2168
1930
|
|
|
2169
|
-
|
|
2170
|
-
|
|
1931
|
+
get childNodes() {
|
|
1932
|
+
var vm = getAssociatedVM(this);
|
|
1933
|
+
var renderer = vm.renderer;
|
|
2171
1934
|
|
|
2172
|
-
|
|
2173
|
-
|
|
2174
|
-
}
|
|
2175
|
-
} // Generic passthrough for child getters on HTMLElement to the relevant Renderer APIs
|
|
1935
|
+
return renderer.getChildNodes(vm.elm);
|
|
1936
|
+
},
|
|
2176
1937
|
|
|
1938
|
+
get firstChild() {
|
|
1939
|
+
var vm = getAssociatedVM(this);
|
|
1940
|
+
var renderer = vm.renderer;
|
|
2177
1941
|
|
|
2178
|
-
|
|
2179
|
-
|
|
2180
|
-
queryAndChildGetterDescriptors[childGetter] = {
|
|
2181
|
-
get: function get() {
|
|
2182
|
-
var vm = getAssociatedVM(this);
|
|
2183
|
-
var elm = vm.elm;
|
|
1942
|
+
return renderer.getFirstChild(vm.elm);
|
|
1943
|
+
},
|
|
2184
1944
|
|
|
2185
|
-
|
|
2186
|
-
|
|
2187
|
-
|
|
2188
|
-
enumerable: true
|
|
2189
|
-
};
|
|
2190
|
-
};
|
|
1945
|
+
get firstElementChild() {
|
|
1946
|
+
var vm = getAssociatedVM(this);
|
|
1947
|
+
var renderer = vm.renderer;
|
|
2191
1948
|
|
|
2192
|
-
|
|
2193
|
-
|
|
2194
|
-
}
|
|
1949
|
+
return renderer.getFirstElementChild(vm.elm);
|
|
1950
|
+
},
|
|
2195
1951
|
|
|
2196
|
-
|
|
1952
|
+
get lastChild() {
|
|
1953
|
+
var vm = getAssociatedVM(this);
|
|
1954
|
+
var renderer = vm.renderer;
|
|
2197
1955
|
|
|
2198
|
-
|
|
2199
|
-
|
|
2200
|
-
case 'getElementsByClassName':
|
|
2201
|
-
return getElementsByClassName$1;
|
|
1956
|
+
return renderer.getLastChild(vm.elm);
|
|
1957
|
+
},
|
|
2202
1958
|
|
|
2203
|
-
|
|
2204
|
-
|
|
1959
|
+
get lastElementChild() {
|
|
1960
|
+
var vm = getAssociatedVM(this);
|
|
1961
|
+
var renderer = vm.renderer;
|
|
2205
1962
|
|
|
2206
|
-
|
|
2207
|
-
|
|
1963
|
+
return renderer.getLastElementChild(vm.elm);
|
|
1964
|
+
},
|
|
2208
1965
|
|
|
2209
|
-
|
|
2210
|
-
|
|
1966
|
+
render: function render() {
|
|
1967
|
+
var vm = getAssociatedVM(this);
|
|
1968
|
+
return vm.def.template;
|
|
1969
|
+
},
|
|
1970
|
+
toString: function toString() {
|
|
1971
|
+
var vm = getAssociatedVM(this);
|
|
1972
|
+
return "[object ".concat(vm.def.name, "]");
|
|
2211
1973
|
}
|
|
2212
|
-
}
|
|
2213
|
-
|
|
1974
|
+
};
|
|
1975
|
+
var queryAndChildGetterDescriptors = create(null);
|
|
1976
|
+
var queryMethods = ['getElementsByClassName', 'getElementsByTagName', 'querySelector', 'querySelectorAll']; // Generic passthrough for query APIs on HTMLElement to the relevant Renderer APIs
|
|
2214
1977
|
|
|
2215
|
-
var
|
|
2216
|
-
var queryMethod = _queryMethods[
|
|
1978
|
+
var _loop = function _loop() {
|
|
1979
|
+
var queryMethod = _queryMethods[_i7];
|
|
2217
1980
|
queryAndChildGetterDescriptors[queryMethod] = {
|
|
2218
1981
|
value: function value(arg) {
|
|
2219
1982
|
var vm = getAssociatedVM(this);
|
|
2220
|
-
var elm = vm.elm
|
|
1983
|
+
var elm = vm.elm,
|
|
1984
|
+
renderer = vm.renderer;
|
|
2221
1985
|
|
|
2222
|
-
return
|
|
1986
|
+
return renderer[queryMethod](elm, arg);
|
|
2223
1987
|
},
|
|
2224
1988
|
configurable: true,
|
|
2225
1989
|
enumerable: true,
|
|
@@ -2227,8 +1991,8 @@
|
|
|
2227
1991
|
};
|
|
2228
1992
|
};
|
|
2229
1993
|
|
|
2230
|
-
for (var
|
|
2231
|
-
|
|
1994
|
+
for (var _i7 = 0, _queryMethods = queryMethods; _i7 < _queryMethods.length; _i7++) {
|
|
1995
|
+
_loop();
|
|
2232
1996
|
}
|
|
2233
1997
|
|
|
2234
1998
|
defineProperties(LightningElement.prototype, queryAndChildGetterDescriptors);
|
|
@@ -2588,8 +2352,8 @@
|
|
|
2588
2352
|
}
|
|
2589
2353
|
|
|
2590
2354
|
if (!isUndefined$1(fields)) {
|
|
2591
|
-
for (var
|
|
2592
|
-
var _fieldName2 = fields[
|
|
2355
|
+
for (var _i8 = 0, n = fields.length; _i8 < n; _i8++) {
|
|
2356
|
+
var _fieldName2 = fields[_i8];
|
|
2593
2357
|
descriptor = getOwnPropertyDescriptor$1(proto, _fieldName2);
|
|
2594
2358
|
// tracked property. This is only here for backward compatibility purposes.
|
|
2595
2359
|
|
|
@@ -2843,8 +2607,8 @@
|
|
|
2843
2607
|
superObservedAttributes = _SuperClass$observedA === void 0 ? [] : _SuperClass$observedA;
|
|
2844
2608
|
var descriptors = create(null); // expose getters and setters for each public props on the new Element Bridge
|
|
2845
2609
|
|
|
2846
|
-
for (var
|
|
2847
|
-
var _propName = props[
|
|
2610
|
+
for (var _i9 = 0, len = props.length; _i9 < len; _i9 += 1) {
|
|
2611
|
+
var _propName = props[_i9];
|
|
2848
2612
|
attributeToPropMap[htmlPropertyToAttribute(_propName)] = _propName;
|
|
2849
2613
|
descriptors[_propName] = {
|
|
2850
2614
|
get: createGetter(_propName),
|
|
@@ -2855,8 +2619,8 @@
|
|
|
2855
2619
|
} // expose public methods as props on the new Element Bridge
|
|
2856
2620
|
|
|
2857
2621
|
|
|
2858
|
-
for (var
|
|
2859
|
-
var methodName = methods[
|
|
2622
|
+
for (var _i10 = 0, _len3 = methods.length; _i10 < _len3; _i10 += 1) {
|
|
2623
|
+
var methodName = methods[_i10];
|
|
2860
2624
|
descriptors[methodName] = {
|
|
2861
2625
|
value: createMethodCaller(methodName),
|
|
2862
2626
|
writable: true,
|
|
@@ -3159,12 +2923,15 @@
|
|
|
3159
2923
|
*/
|
|
3160
2924
|
|
|
3161
2925
|
|
|
3162
|
-
function getUpgradableConstructor(tagName) {
|
|
3163
|
-
|
|
2926
|
+
function getUpgradableConstructor(tagName, renderer) {
|
|
2927
|
+
var getCustomElement = renderer.getCustomElement,
|
|
2928
|
+
RendererHTMLElement = renderer.HTMLElementExported,
|
|
2929
|
+
defineCustomElement = renderer.defineCustomElement; // Should never get a tag with upper case letter at this point, the compiler should
|
|
3164
2930
|
// produce only tags with lowercase letters
|
|
3165
2931
|
// But, for backwards compatibility, we will lower case the tagName
|
|
2932
|
+
|
|
3166
2933
|
tagName = tagName.toLowerCase();
|
|
3167
|
-
var CE = getCustomElement
|
|
2934
|
+
var CE = getCustomElement(tagName);
|
|
3168
2935
|
|
|
3169
2936
|
if (!isUndefined$1(CE)) {
|
|
3170
2937
|
return CE;
|
|
@@ -3175,8 +2942,8 @@
|
|
|
3175
2942
|
*/
|
|
3176
2943
|
|
|
3177
2944
|
|
|
3178
|
-
CE = /*#__PURE__*/function (
|
|
3179
|
-
_inherits(LWCUpgradableElement,
|
|
2945
|
+
CE = /*#__PURE__*/function (_RendererHTMLElement) {
|
|
2946
|
+
_inherits(LWCUpgradableElement, _RendererHTMLElement);
|
|
3180
2947
|
|
|
3181
2948
|
var _super5 = _createSuper(LWCUpgradableElement);
|
|
3182
2949
|
|
|
@@ -3195,9 +2962,9 @@
|
|
|
3195
2962
|
}
|
|
3196
2963
|
|
|
3197
2964
|
return _createClass(LWCUpgradableElement);
|
|
3198
|
-
}(
|
|
2965
|
+
}(RendererHTMLElement);
|
|
3199
2966
|
|
|
3200
|
-
defineCustomElement
|
|
2967
|
+
defineCustomElement(tagName, CE);
|
|
3201
2968
|
return CE;
|
|
3202
2969
|
}
|
|
3203
2970
|
/*
|
|
@@ -3230,7 +2997,7 @@
|
|
|
3230
2997
|
|
|
3231
2998
|
var ColonCharCode = 58;
|
|
3232
2999
|
|
|
3233
|
-
function patchAttributes(oldVnode, vnode) {
|
|
3000
|
+
function patchAttributes(oldVnode, vnode, renderer) {
|
|
3234
3001
|
var attrs = vnode.data.attrs;
|
|
3235
3002
|
|
|
3236
3003
|
if (isUndefined$1(attrs)) {
|
|
@@ -3244,6 +3011,8 @@
|
|
|
3244
3011
|
}
|
|
3245
3012
|
|
|
3246
3013
|
var elm = vnode.elm;
|
|
3014
|
+
var setAttribute = renderer.setAttribute,
|
|
3015
|
+
removeAttribute = renderer.removeAttribute;
|
|
3247
3016
|
|
|
3248
3017
|
for (var key in attrs) {
|
|
3249
3018
|
var cur = attrs[key];
|
|
@@ -3254,14 +3023,14 @@
|
|
|
3254
3023
|
|
|
3255
3024
|
if (StringCharCodeAt.call(key, 3) === ColonCharCode) {
|
|
3256
3025
|
// Assume xml namespace
|
|
3257
|
-
setAttribute
|
|
3026
|
+
setAttribute(elm, key, cur, XML_NAMESPACE);
|
|
3258
3027
|
} else if (StringCharCodeAt.call(key, 5) === ColonCharCode) {
|
|
3259
3028
|
// Assume xlink namespace
|
|
3260
|
-
setAttribute
|
|
3029
|
+
setAttribute(elm, key, cur, XLINK_NAMESPACE);
|
|
3261
3030
|
} else if (isNull(cur) || isUndefined$1(cur)) {
|
|
3262
|
-
removeAttribute
|
|
3031
|
+
removeAttribute(elm, key);
|
|
3263
3032
|
} else {
|
|
3264
|
-
setAttribute
|
|
3033
|
+
setAttribute(elm, key, cur);
|
|
3265
3034
|
}
|
|
3266
3035
|
|
|
3267
3036
|
lockAttribute();
|
|
@@ -3282,7 +3051,7 @@
|
|
|
3282
3051
|
return sel === 'input' && (key === 'value' || key === 'checked');
|
|
3283
3052
|
}
|
|
3284
3053
|
|
|
3285
|
-
function patchProps(oldVnode, vnode) {
|
|
3054
|
+
function patchProps(oldVnode, vnode, renderer) {
|
|
3286
3055
|
var props = vnode.data.props;
|
|
3287
3056
|
|
|
3288
3057
|
if (isUndefined$1(props)) {
|
|
@@ -3298,13 +3067,15 @@
|
|
|
3298
3067
|
var isFirstPatch = isNull(oldVnode);
|
|
3299
3068
|
var elm = vnode.elm,
|
|
3300
3069
|
sel = vnode.sel;
|
|
3070
|
+
var getProperty = renderer.getProperty,
|
|
3071
|
+
setProperty = renderer.setProperty;
|
|
3301
3072
|
|
|
3302
3073
|
for (var key in props) {
|
|
3303
3074
|
var cur = props[key]; // Set the property if it's the first time is is patched or if the previous property is
|
|
3304
3075
|
// different than the one previously set.
|
|
3305
3076
|
|
|
3306
|
-
if (isFirstPatch || cur !== (isLiveBindingProp(sel, key) ? getProperty
|
|
3307
|
-
setProperty
|
|
3077
|
+
if (isFirstPatch || cur !== (isLiveBindingProp(sel, key) ? getProperty(elm, key) : oldProps[key])) {
|
|
3078
|
+
setProperty(elm, key, cur);
|
|
3308
3079
|
}
|
|
3309
3080
|
}
|
|
3310
3081
|
}
|
|
@@ -3356,7 +3127,7 @@
|
|
|
3356
3127
|
return map;
|
|
3357
3128
|
}
|
|
3358
3129
|
|
|
3359
|
-
function patchClassAttribute(oldVnode, vnode) {
|
|
3130
|
+
function patchClassAttribute(oldVnode, vnode, renderer) {
|
|
3360
3131
|
var elm = vnode.elm,
|
|
3361
3132
|
newClass = vnode.data.className;
|
|
3362
3133
|
var oldClass = isNull(oldVnode) ? undefined : oldVnode.data.className;
|
|
@@ -3365,7 +3136,8 @@
|
|
|
3365
3136
|
return;
|
|
3366
3137
|
}
|
|
3367
3138
|
|
|
3368
|
-
var
|
|
3139
|
+
var getClassList = renderer.getClassList;
|
|
3140
|
+
var classList = getClassList(elm);
|
|
3369
3141
|
var newClassMap = getMapFromClassName(newClass);
|
|
3370
3142
|
var oldClassMap = getMapFromClassName(oldClass);
|
|
3371
3143
|
var name;
|
|
@@ -3392,7 +3164,7 @@
|
|
|
3392
3164
|
// The style property is a string when defined via an expression in the template.
|
|
3393
3165
|
|
|
3394
3166
|
|
|
3395
|
-
function patchStyleAttribute(oldVnode, vnode) {
|
|
3167
|
+
function patchStyleAttribute(oldVnode, vnode, renderer) {
|
|
3396
3168
|
var elm = vnode.elm,
|
|
3397
3169
|
newStyle = vnode.data.style;
|
|
3398
3170
|
var oldStyle = isNull(oldVnode) ? undefined : oldVnode.data.style;
|
|
@@ -3401,10 +3173,13 @@
|
|
|
3401
3173
|
return;
|
|
3402
3174
|
}
|
|
3403
3175
|
|
|
3176
|
+
var setAttribute = renderer.setAttribute,
|
|
3177
|
+
removeAttribute = renderer.removeAttribute;
|
|
3178
|
+
|
|
3404
3179
|
if (!isString(newStyle) || newStyle === '') {
|
|
3405
|
-
removeAttribute
|
|
3180
|
+
removeAttribute(elm, 'style');
|
|
3406
3181
|
} else {
|
|
3407
|
-
setAttribute
|
|
3182
|
+
setAttribute(elm, 'style', newStyle);
|
|
3408
3183
|
}
|
|
3409
3184
|
}
|
|
3410
3185
|
/*
|
|
@@ -3415,7 +3190,7 @@
|
|
|
3415
3190
|
*/
|
|
3416
3191
|
|
|
3417
3192
|
|
|
3418
|
-
function applyEventListeners(vnode) {
|
|
3193
|
+
function applyEventListeners(vnode, renderer) {
|
|
3419
3194
|
var elm = vnode.elm,
|
|
3420
3195
|
on = vnode.data.on;
|
|
3421
3196
|
|
|
@@ -3423,9 +3198,11 @@
|
|
|
3423
3198
|
return;
|
|
3424
3199
|
}
|
|
3425
3200
|
|
|
3201
|
+
var addEventListener = renderer.addEventListener;
|
|
3202
|
+
|
|
3426
3203
|
for (var name in on) {
|
|
3427
3204
|
var handler = on[name];
|
|
3428
|
-
addEventListener
|
|
3205
|
+
addEventListener(elm, name, handler);
|
|
3429
3206
|
}
|
|
3430
3207
|
}
|
|
3431
3208
|
/*
|
|
@@ -3439,7 +3216,7 @@
|
|
|
3439
3216
|
// different classnames properties individually instead of via a string.
|
|
3440
3217
|
|
|
3441
3218
|
|
|
3442
|
-
function applyStaticClassAttribute(vnode) {
|
|
3219
|
+
function applyStaticClassAttribute(vnode, renderer) {
|
|
3443
3220
|
var elm = vnode.elm,
|
|
3444
3221
|
classMap = vnode.data.classMap;
|
|
3445
3222
|
|
|
@@ -3447,7 +3224,8 @@
|
|
|
3447
3224
|
return;
|
|
3448
3225
|
}
|
|
3449
3226
|
|
|
3450
|
-
var
|
|
3227
|
+
var getClassList = renderer.getClassList;
|
|
3228
|
+
var classList = getClassList(elm);
|
|
3451
3229
|
|
|
3452
3230
|
for (var name in classMap) {
|
|
3453
3231
|
classList.add(name);
|
|
@@ -3464,7 +3242,7 @@
|
|
|
3464
3242
|
// different style properties individually instead of via a string.
|
|
3465
3243
|
|
|
3466
3244
|
|
|
3467
|
-
function applyStaticStyleAttribute(vnode) {
|
|
3245
|
+
function applyStaticStyleAttribute(vnode, renderer) {
|
|
3468
3246
|
var elm = vnode.elm,
|
|
3469
3247
|
styleDecls = vnode.data.styleDecls;
|
|
3470
3248
|
|
|
@@ -3472,13 +3250,15 @@
|
|
|
3472
3250
|
return;
|
|
3473
3251
|
}
|
|
3474
3252
|
|
|
3475
|
-
|
|
3476
|
-
|
|
3253
|
+
var setCSSStyleProperty = renderer.setCSSStyleProperty;
|
|
3254
|
+
|
|
3255
|
+
for (var _i11 = 0; _i11 < styleDecls.length; _i11++) {
|
|
3256
|
+
var _styleDecls$_i = _slicedToArray(styleDecls[_i11], 3),
|
|
3477
3257
|
prop = _styleDecls$_i[0],
|
|
3478
3258
|
value = _styleDecls$_i[1],
|
|
3479
3259
|
important = _styleDecls$_i[2];
|
|
3480
3260
|
|
|
3481
|
-
setCSSStyleProperty
|
|
3261
|
+
setCSSStyleProperty(elm, prop, value, important);
|
|
3482
3262
|
}
|
|
3483
3263
|
}
|
|
3484
3264
|
/*
|
|
@@ -3489,15 +3269,17 @@
|
|
|
3489
3269
|
*/
|
|
3490
3270
|
|
|
3491
3271
|
|
|
3492
|
-
function patchChildren(c1, c2, parent) {
|
|
3272
|
+
function patchChildren(c1, c2, parent, renderer) {
|
|
3493
3273
|
if (hasDynamicChildren(c2)) {
|
|
3494
|
-
updateDynamicChildren(c1, c2, parent);
|
|
3274
|
+
updateDynamicChildren(c1, c2, parent, renderer);
|
|
3495
3275
|
} else {
|
|
3496
|
-
updateStaticChildren(c1, c2, parent);
|
|
3276
|
+
updateStaticChildren(c1, c2, parent, renderer);
|
|
3497
3277
|
}
|
|
3498
3278
|
}
|
|
3499
3279
|
|
|
3500
|
-
function patch(n1, n2) {
|
|
3280
|
+
function patch(n1, n2, renderer) {
|
|
3281
|
+
var _a, _b;
|
|
3282
|
+
|
|
3501
3283
|
if (n1 === n2) {
|
|
3502
3284
|
return;
|
|
3503
3285
|
}
|
|
@@ -3506,112 +3288,159 @@
|
|
|
3506
3288
|
case 0
|
|
3507
3289
|
/* Text */
|
|
3508
3290
|
:
|
|
3509
|
-
|
|
3291
|
+
// VText has no special capability, fallback to the owner's renderer
|
|
3292
|
+
patchText(n1, n2, renderer);
|
|
3510
3293
|
break;
|
|
3511
3294
|
|
|
3512
3295
|
case 1
|
|
3513
3296
|
/* Comment */
|
|
3514
3297
|
:
|
|
3515
|
-
|
|
3298
|
+
// VComment has no special capability, fallback to the owner's renderer
|
|
3299
|
+
patchComment(n1, n2, renderer);
|
|
3300
|
+
break;
|
|
3301
|
+
|
|
3302
|
+
case 4
|
|
3303
|
+
/* Static */
|
|
3304
|
+
:
|
|
3305
|
+
n2.elm = n1.elm;
|
|
3516
3306
|
break;
|
|
3517
3307
|
|
|
3518
3308
|
case 2
|
|
3519
3309
|
/* Element */
|
|
3520
3310
|
:
|
|
3521
|
-
patchElement(n1, n2);
|
|
3311
|
+
patchElement(n1, n2, (_a = n2.data.renderer) !== null && _a !== void 0 ? _a : renderer);
|
|
3522
3312
|
break;
|
|
3523
3313
|
|
|
3524
3314
|
case 3
|
|
3525
3315
|
/* CustomElement */
|
|
3526
3316
|
:
|
|
3527
|
-
patchCustomElement(n1, n2);
|
|
3317
|
+
patchCustomElement(n1, n2, (_b = n2.data.renderer) !== null && _b !== void 0 ? _b : renderer);
|
|
3528
3318
|
break;
|
|
3529
3319
|
}
|
|
3530
3320
|
}
|
|
3531
3321
|
|
|
3532
|
-
function mount(node, parent, anchor) {
|
|
3322
|
+
function mount(node, parent, renderer, anchor) {
|
|
3323
|
+
var _a, _b;
|
|
3324
|
+
|
|
3533
3325
|
switch (node.type) {
|
|
3534
3326
|
case 0
|
|
3535
3327
|
/* Text */
|
|
3536
3328
|
:
|
|
3537
|
-
|
|
3329
|
+
// VText has no special capability, fallback to the owner's renderer
|
|
3330
|
+
mountText(node, parent, anchor, renderer);
|
|
3538
3331
|
break;
|
|
3539
3332
|
|
|
3540
3333
|
case 1
|
|
3541
3334
|
/* Comment */
|
|
3542
3335
|
:
|
|
3543
|
-
|
|
3336
|
+
// VComment has no special capability, fallback to the owner's renderer
|
|
3337
|
+
mountComment(node, parent, anchor, renderer);
|
|
3338
|
+
break;
|
|
3339
|
+
|
|
3340
|
+
case 4
|
|
3341
|
+
/* Static */
|
|
3342
|
+
:
|
|
3343
|
+
// VStatic cannot have a custom renderer associated to them, using owner's renderer
|
|
3344
|
+
mountStatic(node, parent, anchor, renderer);
|
|
3544
3345
|
break;
|
|
3545
3346
|
|
|
3546
3347
|
case 2
|
|
3547
3348
|
/* Element */
|
|
3548
3349
|
:
|
|
3549
|
-
|
|
3350
|
+
// If the vnode data has a renderer override use it, else fallback to owner's renderer
|
|
3351
|
+
mountElement(node, parent, anchor, (_a = node.data.renderer) !== null && _a !== void 0 ? _a : renderer);
|
|
3550
3352
|
break;
|
|
3551
3353
|
|
|
3552
3354
|
case 3
|
|
3553
3355
|
/* CustomElement */
|
|
3554
3356
|
:
|
|
3555
|
-
|
|
3357
|
+
// If the vnode data has a renderer override use it, else fallback to owner's renderer
|
|
3358
|
+
mountCustomElement(node, parent, anchor, (_b = node.data.renderer) !== null && _b !== void 0 ? _b : renderer);
|
|
3556
3359
|
break;
|
|
3557
3360
|
}
|
|
3558
3361
|
}
|
|
3559
3362
|
|
|
3560
|
-
function patchText(n1, n2) {
|
|
3363
|
+
function patchText(n1, n2, renderer) {
|
|
3561
3364
|
n2.elm = n1.elm;
|
|
3562
3365
|
|
|
3563
3366
|
if (n2.text !== n1.text) {
|
|
3564
|
-
updateTextContent(n2);
|
|
3367
|
+
updateTextContent(n2, renderer);
|
|
3565
3368
|
}
|
|
3566
3369
|
}
|
|
3567
3370
|
|
|
3568
|
-
function mountText(
|
|
3569
|
-
var owner =
|
|
3570
|
-
var
|
|
3571
|
-
|
|
3572
|
-
|
|
3371
|
+
function mountText(vnode, parent, anchor, renderer) {
|
|
3372
|
+
var owner = vnode.owner;
|
|
3373
|
+
var createText = renderer.createText;
|
|
3374
|
+
var textNode = vnode.elm = createText(vnode.text);
|
|
3375
|
+
linkNodeToShadow(textNode, owner, renderer);
|
|
3376
|
+
insertNode(textNode, parent, anchor, renderer);
|
|
3573
3377
|
}
|
|
3574
3378
|
|
|
3575
|
-
function patchComment(n1, n2) {
|
|
3379
|
+
function patchComment(n1, n2, renderer) {
|
|
3576
3380
|
n2.elm = n1.elm; // FIXME: Comment nodes should be static, we shouldn't need to diff them together. However
|
|
3577
3381
|
// it is the case today.
|
|
3578
3382
|
|
|
3579
3383
|
if (n2.text !== n1.text) {
|
|
3580
|
-
updateTextContent(n2);
|
|
3384
|
+
updateTextContent(n2, renderer);
|
|
3581
3385
|
}
|
|
3582
3386
|
}
|
|
3583
3387
|
|
|
3584
|
-
function mountComment(
|
|
3585
|
-
var owner =
|
|
3586
|
-
var
|
|
3587
|
-
|
|
3588
|
-
|
|
3388
|
+
function mountComment(vnode, parent, anchor, renderer) {
|
|
3389
|
+
var owner = vnode.owner;
|
|
3390
|
+
var createComment = renderer.createComment;
|
|
3391
|
+
var commentNode = vnode.elm = createComment(vnode.text);
|
|
3392
|
+
linkNodeToShadow(commentNode, owner, renderer);
|
|
3393
|
+
insertNode(commentNode, parent, anchor, renderer);
|
|
3589
3394
|
}
|
|
3590
3395
|
|
|
3591
|
-
function mountElement(vnode, parent, anchor) {
|
|
3396
|
+
function mountElement(vnode, parent, anchor, renderer) {
|
|
3592
3397
|
var sel = vnode.sel,
|
|
3593
3398
|
owner = vnode.owner,
|
|
3594
3399
|
svg = vnode.data.svg;
|
|
3400
|
+
var createElement = renderer.createElement;
|
|
3595
3401
|
var namespace = isTrue(svg) ? SVG_NAMESPACE : undefined;
|
|
3596
|
-
var elm = createElement
|
|
3597
|
-
linkNodeToShadow(elm, owner);
|
|
3598
|
-
fallbackElmHook(elm, vnode);
|
|
3402
|
+
var elm = createElement(sel, namespace);
|
|
3403
|
+
linkNodeToShadow(elm, owner, renderer);
|
|
3404
|
+
fallbackElmHook(elm, vnode, renderer);
|
|
3599
3405
|
vnode.elm = elm;
|
|
3600
|
-
patchElementPropsAndAttrs$1(null, vnode);
|
|
3601
|
-
insertNode(elm, parent, anchor);
|
|
3602
|
-
mountVNodes(vnode.children, elm, null);
|
|
3406
|
+
patchElementPropsAndAttrs$1(null, vnode, renderer);
|
|
3407
|
+
insertNode(elm, parent, anchor, renderer);
|
|
3408
|
+
mountVNodes(vnode.children, elm, renderer, null);
|
|
3603
3409
|
}
|
|
3604
3410
|
|
|
3605
|
-
function patchElement(n1, n2) {
|
|
3411
|
+
function patchElement(n1, n2, renderer) {
|
|
3606
3412
|
var elm = n2.elm = n1.elm;
|
|
3607
|
-
patchElementPropsAndAttrs$1(n1, n2);
|
|
3608
|
-
patchChildren(n1.children, n2.children, elm);
|
|
3413
|
+
patchElementPropsAndAttrs$1(n1, n2, renderer);
|
|
3414
|
+
patchChildren(n1.children, n2.children, elm, renderer);
|
|
3609
3415
|
}
|
|
3610
3416
|
|
|
3611
|
-
function
|
|
3417
|
+
function mountStatic(vnode, parent, anchor, renderer) {
|
|
3418
|
+
var owner = vnode.owner;
|
|
3419
|
+
var cloneNode = renderer.cloneNode,
|
|
3420
|
+
isSyntheticShadowDefined = renderer.isSyntheticShadowDefined;
|
|
3421
|
+
var elm = vnode.elm = cloneNode(vnode.fragment, true);
|
|
3422
|
+
linkNodeToShadow(elm, owner, renderer); // Marks this node as Static to propagate the shadow resolver. must happen after elm is assigned to the proper shadow
|
|
3423
|
+
|
|
3424
|
+
var renderMode = owner.renderMode,
|
|
3425
|
+
shadowMode = owner.shadowMode;
|
|
3426
|
+
|
|
3427
|
+
if (isSyntheticShadowDefined) {
|
|
3428
|
+
if (shadowMode === 1
|
|
3429
|
+
/* Synthetic */
|
|
3430
|
+
|| renderMode === 0
|
|
3431
|
+
/* Light */
|
|
3432
|
+
) {
|
|
3433
|
+
elm[KEY__SHADOW_STATIC] = true;
|
|
3434
|
+
}
|
|
3435
|
+
}
|
|
3436
|
+
|
|
3437
|
+
insertNode(elm, parent, anchor, renderer);
|
|
3438
|
+
}
|
|
3439
|
+
|
|
3440
|
+
function mountCustomElement(vnode, parent, anchor, renderer) {
|
|
3612
3441
|
var sel = vnode.sel,
|
|
3613
3442
|
owner = vnode.owner;
|
|
3614
|
-
var UpgradableConstructor = getUpgradableConstructor(sel);
|
|
3443
|
+
var UpgradableConstructor = getUpgradableConstructor(sel, renderer);
|
|
3615
3444
|
/**
|
|
3616
3445
|
* Note: if the upgradable constructor does not expect, or throw when we new it
|
|
3617
3446
|
* with a callback as the first argument, we could implement a more advanced
|
|
@@ -3622,9 +3451,9 @@
|
|
|
3622
3451
|
var vm;
|
|
3623
3452
|
var elm = new UpgradableConstructor(function (elm) {
|
|
3624
3453
|
// the custom element from the registry is expecting an upgrade callback
|
|
3625
|
-
vm = createViewModelHook(elm, vnode);
|
|
3454
|
+
vm = createViewModelHook(elm, vnode, renderer);
|
|
3626
3455
|
});
|
|
3627
|
-
linkNodeToShadow(elm, owner);
|
|
3456
|
+
linkNodeToShadow(elm, owner, renderer);
|
|
3628
3457
|
vnode.elm = elm;
|
|
3629
3458
|
vnode.vm = vm;
|
|
3630
3459
|
|
|
@@ -3634,25 +3463,25 @@
|
|
|
3634
3463
|
throw new TypeError("Incorrect Component Constructor");
|
|
3635
3464
|
}
|
|
3636
3465
|
|
|
3637
|
-
patchElementPropsAndAttrs$1(null, vnode);
|
|
3638
|
-
insertNode(elm, parent, anchor);
|
|
3466
|
+
patchElementPropsAndAttrs$1(null, vnode, renderer);
|
|
3467
|
+
insertNode(elm, parent, anchor, renderer);
|
|
3639
3468
|
|
|
3640
3469
|
if (vm) {
|
|
3641
3470
|
|
|
3642
3471
|
runConnectedCallback(vm);
|
|
3643
3472
|
}
|
|
3644
3473
|
|
|
3645
|
-
mountVNodes(vnode.children, elm, null);
|
|
3474
|
+
mountVNodes(vnode.children, elm, renderer, null);
|
|
3646
3475
|
|
|
3647
3476
|
if (vm) {
|
|
3648
3477
|
appendVM(vm);
|
|
3649
3478
|
}
|
|
3650
3479
|
}
|
|
3651
3480
|
|
|
3652
|
-
function patchCustomElement(n1, n2) {
|
|
3481
|
+
function patchCustomElement(n1, n2, renderer) {
|
|
3653
3482
|
var elm = n2.elm = n1.elm;
|
|
3654
3483
|
var vm = n2.vm = n1.vm;
|
|
3655
|
-
patchElementPropsAndAttrs$1(n1, n2);
|
|
3484
|
+
patchElementPropsAndAttrs$1(n1, n2, renderer);
|
|
3656
3485
|
|
|
3657
3486
|
if (!isUndefined$1(vm)) {
|
|
3658
3487
|
// in fallback mode, the allocation will always set children to
|
|
@@ -3662,7 +3491,7 @@
|
|
|
3662
3491
|
// will happen, but in native, it does allocate the light dom
|
|
3663
3492
|
|
|
3664
3493
|
|
|
3665
|
-
patchChildren(n1.children, n2.children, elm);
|
|
3494
|
+
patchChildren(n1.children, n2.children, elm, renderer);
|
|
3666
3495
|
|
|
3667
3496
|
if (!isUndefined$1(vm)) {
|
|
3668
3497
|
// this will probably update the shadowRoot, but only if the vm is in a dirty state
|
|
@@ -3671,38 +3500,45 @@
|
|
|
3671
3500
|
}
|
|
3672
3501
|
}
|
|
3673
3502
|
|
|
3674
|
-
function mountVNodes(vnodes, parent, anchor) {
|
|
3675
|
-
var start = arguments.length >
|
|
3676
|
-
var end = arguments.length >
|
|
3503
|
+
function mountVNodes(vnodes, parent, renderer, anchor) {
|
|
3504
|
+
var start = arguments.length > 4 && arguments[4] !== undefined ? arguments[4] : 0;
|
|
3505
|
+
var end = arguments.length > 5 && arguments[5] !== undefined ? arguments[5] : vnodes.length;
|
|
3677
3506
|
|
|
3678
3507
|
for (; start < end; ++start) {
|
|
3679
3508
|
var vnode = vnodes[start];
|
|
3680
3509
|
|
|
3681
3510
|
if (isVNode(vnode)) {
|
|
3682
|
-
mount(vnode, parent, anchor);
|
|
3511
|
+
mount(vnode, parent, renderer, anchor);
|
|
3683
3512
|
}
|
|
3684
3513
|
}
|
|
3685
3514
|
}
|
|
3686
3515
|
|
|
3687
|
-
function unmount(vnode, parent) {
|
|
3688
|
-
var doRemove = arguments.length >
|
|
3516
|
+
function unmount(vnode, parent, renderer) {
|
|
3517
|
+
var doRemove = arguments.length > 3 && arguments[3] !== undefined ? arguments[3] : false;
|
|
3689
3518
|
var type = vnode.type,
|
|
3690
3519
|
elm = vnode.elm,
|
|
3691
3520
|
sel = vnode.sel; // When unmounting a VNode subtree not all the elements have to removed from the DOM. The
|
|
3692
3521
|
// subtree root, is the only element worth unmounting from the subtree.
|
|
3693
3522
|
|
|
3694
3523
|
if (doRemove) {
|
|
3695
|
-
|
|
3524
|
+
// The vnode might or might not have a data.renderer associated to it
|
|
3525
|
+
// but the removal used here is from the owner instead.
|
|
3526
|
+
removeNode(elm, parent, renderer);
|
|
3696
3527
|
}
|
|
3697
3528
|
|
|
3698
|
-
var removeChildren = sel === 'slot'; // slot content is removed to trigger slotchange event when removing slot
|
|
3699
|
-
|
|
3700
3529
|
switch (type) {
|
|
3701
3530
|
case 2
|
|
3702
3531
|
/* Element */
|
|
3703
3532
|
:
|
|
3704
|
-
|
|
3705
|
-
|
|
3533
|
+
{
|
|
3534
|
+
// Slot content is removed to trigger slotchange event when removing slot.
|
|
3535
|
+
// Only required for synthetic shadow.
|
|
3536
|
+
var shouldRemoveChildren = sel === 'slot' && vnode.owner.shadowMode === 1
|
|
3537
|
+
/* Synthetic */
|
|
3538
|
+
;
|
|
3539
|
+
unmountVNodes(vnode.children, elm, renderer, shouldRemoveChildren);
|
|
3540
|
+
break;
|
|
3541
|
+
}
|
|
3706
3542
|
|
|
3707
3543
|
case 3
|
|
3708
3544
|
/* CustomElement */
|
|
@@ -3718,16 +3554,16 @@
|
|
|
3718
3554
|
}
|
|
3719
3555
|
}
|
|
3720
3556
|
|
|
3721
|
-
function unmountVNodes(vnodes, parent) {
|
|
3722
|
-
var doRemove = arguments.length >
|
|
3723
|
-
var start = arguments.length >
|
|
3724
|
-
var end = arguments.length >
|
|
3557
|
+
function unmountVNodes(vnodes, parent, renderer) {
|
|
3558
|
+
var doRemove = arguments.length > 3 && arguments[3] !== undefined ? arguments[3] : false;
|
|
3559
|
+
var start = arguments.length > 4 && arguments[4] !== undefined ? arguments[4] : 0;
|
|
3560
|
+
var end = arguments.length > 5 && arguments[5] !== undefined ? arguments[5] : vnodes.length;
|
|
3725
3561
|
|
|
3726
3562
|
for (; start < end; ++start) {
|
|
3727
3563
|
var ch = vnodes[start];
|
|
3728
3564
|
|
|
3729
3565
|
if (isVNode(ch)) {
|
|
3730
|
-
unmount(ch, parent, doRemove);
|
|
3566
|
+
unmount(ch, parent, renderer, doRemove);
|
|
3731
3567
|
}
|
|
3732
3568
|
}
|
|
3733
3569
|
}
|
|
@@ -3745,22 +3581,26 @@
|
|
|
3745
3581
|
} // Set the scope token class for *.scoped.css styles
|
|
3746
3582
|
|
|
3747
3583
|
|
|
3748
|
-
function setScopeTokenClassIfNecessary(elm, owner) {
|
|
3584
|
+
function setScopeTokenClassIfNecessary(elm, owner, renderer) {
|
|
3749
3585
|
var cmpTemplate = owner.cmpTemplate,
|
|
3750
3586
|
context = owner.context;
|
|
3587
|
+
var getClassList = renderer.getClassList;
|
|
3751
3588
|
var token = cmpTemplate === null || cmpTemplate === void 0 ? void 0 : cmpTemplate.stylesheetToken;
|
|
3752
3589
|
|
|
3753
3590
|
if (!isUndefined$1(token) && context.hasScopedStyles) {
|
|
3754
|
-
|
|
3591
|
+
// TODO [#2762]: this dot notation with add is probably problematic
|
|
3592
|
+
// probably we should have a renderer api for just the add operation
|
|
3593
|
+
getClassList(elm).add(token);
|
|
3755
3594
|
}
|
|
3756
3595
|
}
|
|
3757
3596
|
|
|
3758
|
-
function linkNodeToShadow(elm, owner) {
|
|
3597
|
+
function linkNodeToShadow(elm, owner, renderer) {
|
|
3759
3598
|
var renderRoot = owner.renderRoot,
|
|
3760
3599
|
renderMode = owner.renderMode,
|
|
3761
|
-
shadowMode = owner.shadowMode;
|
|
3600
|
+
shadowMode = owner.shadowMode;
|
|
3601
|
+
var isSyntheticShadowDefined = renderer.isSyntheticShadowDefined; // TODO [#1164]: this should eventually be done by the polyfill directly
|
|
3762
3602
|
|
|
3763
|
-
if (isSyntheticShadowDefined
|
|
3603
|
+
if (isSyntheticShadowDefined) {
|
|
3764
3604
|
if (shadowMode === 1
|
|
3765
3605
|
/* Synthetic */
|
|
3766
3606
|
|| renderMode === 0
|
|
@@ -3771,41 +3611,42 @@
|
|
|
3771
3611
|
}
|
|
3772
3612
|
}
|
|
3773
3613
|
|
|
3774
|
-
function updateTextContent(vnode) {
|
|
3614
|
+
function updateTextContent(vnode, renderer) {
|
|
3775
3615
|
var elm = vnode.elm,
|
|
3776
3616
|
text = vnode.text;
|
|
3617
|
+
var setText = renderer.setText;
|
|
3777
3618
|
|
|
3778
|
-
setText
|
|
3619
|
+
setText(elm, text);
|
|
3779
3620
|
}
|
|
3780
3621
|
|
|
3781
|
-
function insertNode(node, parent, anchor) {
|
|
3622
|
+
function insertNode(node, parent, anchor, renderer) {
|
|
3782
3623
|
|
|
3783
|
-
insert
|
|
3624
|
+
renderer.insert(node, parent, anchor);
|
|
3784
3625
|
}
|
|
3785
3626
|
|
|
3786
|
-
function removeNode(node, parent) {
|
|
3627
|
+
function removeNode(node, parent, renderer) {
|
|
3787
3628
|
|
|
3788
|
-
remove
|
|
3629
|
+
renderer.remove(node, parent);
|
|
3789
3630
|
}
|
|
3790
3631
|
|
|
3791
|
-
function patchElementPropsAndAttrs$1(oldVnode, vnode) {
|
|
3632
|
+
function patchElementPropsAndAttrs$1(oldVnode, vnode, renderer) {
|
|
3792
3633
|
if (isNull(oldVnode)) {
|
|
3793
|
-
applyEventListeners(vnode);
|
|
3794
|
-
applyStaticClassAttribute(vnode);
|
|
3795
|
-
applyStaticStyleAttribute(vnode);
|
|
3634
|
+
applyEventListeners(vnode, renderer);
|
|
3635
|
+
applyStaticClassAttribute(vnode, renderer);
|
|
3636
|
+
applyStaticStyleAttribute(vnode, renderer);
|
|
3796
3637
|
} // Attrs need to be applied to element before props IE11 will wipe out value on radio inputs if
|
|
3797
3638
|
// value is set before type=radio.
|
|
3798
3639
|
|
|
3799
3640
|
|
|
3800
|
-
patchClassAttribute(oldVnode, vnode);
|
|
3801
|
-
patchStyleAttribute(oldVnode, vnode);
|
|
3802
|
-
patchAttributes(oldVnode, vnode);
|
|
3803
|
-
patchProps(oldVnode, vnode);
|
|
3641
|
+
patchClassAttribute(oldVnode, vnode, renderer);
|
|
3642
|
+
patchStyleAttribute(oldVnode, vnode, renderer);
|
|
3643
|
+
patchAttributes(oldVnode, vnode, renderer);
|
|
3644
|
+
patchProps(oldVnode, vnode, renderer);
|
|
3804
3645
|
}
|
|
3805
3646
|
|
|
3806
|
-
function fallbackElmHook(elm, vnode) {
|
|
3647
|
+
function fallbackElmHook(elm, vnode, renderer) {
|
|
3807
3648
|
var owner = vnode.owner;
|
|
3808
|
-
setScopeTokenClassIfNecessary(elm, owner);
|
|
3649
|
+
setScopeTokenClassIfNecessary(elm, owner, renderer);
|
|
3809
3650
|
|
|
3810
3651
|
if (owner.shadowMode === 1
|
|
3811
3652
|
/* Synthetic */
|
|
@@ -3858,7 +3699,7 @@
|
|
|
3858
3699
|
}
|
|
3859
3700
|
}
|
|
3860
3701
|
|
|
3861
|
-
function createViewModelHook(elm, vnode) {
|
|
3702
|
+
function createViewModelHook(elm, vnode, renderer) {
|
|
3862
3703
|
var vm = getAssociatedVMIfPresent(elm); // There is a possibility that a custom element is registered under tagName, in which case, the
|
|
3863
3704
|
// initialization is already carry on, and there is nothing else to do here since this hook is
|
|
3864
3705
|
// called right after invoking `document.createElement`.
|
|
@@ -3871,7 +3712,7 @@
|
|
|
3871
3712
|
mode = vnode.mode,
|
|
3872
3713
|
ctor = vnode.ctor,
|
|
3873
3714
|
owner = vnode.owner;
|
|
3874
|
-
setScopeTokenClassIfNecessary(elm, owner);
|
|
3715
|
+
setScopeTokenClassIfNecessary(elm, owner, renderer);
|
|
3875
3716
|
|
|
3876
3717
|
if (owner.shadowMode === 1
|
|
3877
3718
|
/* Synthetic */
|
|
@@ -3884,7 +3725,7 @@
|
|
|
3884
3725
|
}
|
|
3885
3726
|
}
|
|
3886
3727
|
|
|
3887
|
-
vm = createVM(elm, ctor, {
|
|
3728
|
+
vm = createVM(elm, ctor, renderer, {
|
|
3888
3729
|
mode: mode,
|
|
3889
3730
|
owner: owner,
|
|
3890
3731
|
tagName: sel
|
|
@@ -3899,8 +3740,8 @@
|
|
|
3899
3740
|
var oldSlots = vm.cmpSlots;
|
|
3900
3741
|
var cmpSlots = vm.cmpSlots = create(null);
|
|
3901
3742
|
|
|
3902
|
-
for (var
|
|
3903
|
-
var vnode = children[
|
|
3743
|
+
for (var _i12 = 0, len = children.length; _i12 < len; _i12 += 1) {
|
|
3744
|
+
var vnode = children[_i12];
|
|
3904
3745
|
|
|
3905
3746
|
if (isNull(vnode)) {
|
|
3906
3747
|
continue;
|
|
@@ -3926,8 +3767,8 @@
|
|
|
3926
3767
|
return;
|
|
3927
3768
|
}
|
|
3928
3769
|
|
|
3929
|
-
for (var
|
|
3930
|
-
var key = oldKeys[
|
|
3770
|
+
for (var _i13 = 0, _len4 = oldKeys.length; _i13 < _len4; _i13 += 1) {
|
|
3771
|
+
var key = oldKeys[_i13];
|
|
3931
3772
|
|
|
3932
3773
|
if (isUndefined$1(cmpSlots[key]) || oldSlots[key].length !== cmpSlots[key].length) {
|
|
3933
3774
|
markComponentAsDirty(vm);
|
|
@@ -3977,7 +3818,7 @@
|
|
|
3977
3818
|
return map;
|
|
3978
3819
|
}
|
|
3979
3820
|
|
|
3980
|
-
function updateDynamicChildren(oldCh, newCh, parent) {
|
|
3821
|
+
function updateDynamicChildren(oldCh, newCh, parent, renderer) {
|
|
3981
3822
|
var oldStartIdx = 0;
|
|
3982
3823
|
var newStartIdx = 0;
|
|
3983
3824
|
var oldEndIdx = oldCh.length - 1;
|
|
@@ -4003,23 +3844,23 @@
|
|
|
4003
3844
|
} else if (!isVNode(newEndVnode)) {
|
|
4004
3845
|
newEndVnode = newCh[--newEndIdx];
|
|
4005
3846
|
} else if (isSameVnode(oldStartVnode, newStartVnode)) {
|
|
4006
|
-
patch(oldStartVnode, newStartVnode);
|
|
3847
|
+
patch(oldStartVnode, newStartVnode, renderer);
|
|
4007
3848
|
oldStartVnode = oldCh[++oldStartIdx];
|
|
4008
3849
|
newStartVnode = newCh[++newStartIdx];
|
|
4009
3850
|
} else if (isSameVnode(oldEndVnode, newEndVnode)) {
|
|
4010
|
-
patch(oldEndVnode, newEndVnode);
|
|
3851
|
+
patch(oldEndVnode, newEndVnode, renderer);
|
|
4011
3852
|
oldEndVnode = oldCh[--oldEndIdx];
|
|
4012
3853
|
newEndVnode = newCh[--newEndIdx];
|
|
4013
3854
|
} else if (isSameVnode(oldStartVnode, newEndVnode)) {
|
|
4014
3855
|
// Vnode moved right
|
|
4015
|
-
patch(oldStartVnode, newEndVnode);
|
|
4016
|
-
insertNode(oldStartVnode.elm, parent, nextSibling
|
|
3856
|
+
patch(oldStartVnode, newEndVnode, renderer);
|
|
3857
|
+
insertNode(oldStartVnode.elm, parent, renderer.nextSibling(oldEndVnode.elm), renderer);
|
|
4017
3858
|
oldStartVnode = oldCh[++oldStartIdx];
|
|
4018
3859
|
newEndVnode = newCh[--newEndIdx];
|
|
4019
3860
|
} else if (isSameVnode(oldEndVnode, newStartVnode)) {
|
|
4020
3861
|
// Vnode moved left
|
|
4021
|
-
patch(oldEndVnode, newStartVnode);
|
|
4022
|
-
insertNode(newStartVnode.elm, parent, oldStartVnode.elm);
|
|
3862
|
+
patch(oldEndVnode, newStartVnode, renderer);
|
|
3863
|
+
insertNode(newStartVnode.elm, parent, oldStartVnode.elm, renderer);
|
|
4023
3864
|
oldEndVnode = oldCh[--oldEndIdx];
|
|
4024
3865
|
newStartVnode = newCh[++newStartIdx];
|
|
4025
3866
|
} else {
|
|
@@ -4031,7 +3872,7 @@
|
|
|
4031
3872
|
|
|
4032
3873
|
if (isUndefined$1(idxInOld)) {
|
|
4033
3874
|
// New element
|
|
4034
|
-
mount(newStartVnode, parent, oldStartVnode.elm);
|
|
3875
|
+
mount(newStartVnode, parent, renderer, oldStartVnode.elm);
|
|
4035
3876
|
newStartVnode = newCh[++newStartIdx];
|
|
4036
3877
|
} else {
|
|
4037
3878
|
elmToMove = oldCh[idxInOld];
|
|
@@ -4039,9 +3880,9 @@
|
|
|
4039
3880
|
if (isVNode(elmToMove)) {
|
|
4040
3881
|
if (elmToMove.sel !== newStartVnode.sel) {
|
|
4041
3882
|
// New element
|
|
4042
|
-
mount(newStartVnode, parent, oldStartVnode.elm);
|
|
3883
|
+
mount(newStartVnode, parent, renderer, oldStartVnode.elm);
|
|
4043
3884
|
} else {
|
|
4044
|
-
patch(elmToMove, newStartVnode); // Delete the old child, but copy the array since it is read-only.
|
|
3885
|
+
patch(elmToMove, newStartVnode, renderer); // Delete the old child, but copy the array since it is read-only.
|
|
4045
3886
|
// The `oldCh` will be GC'ed after `updateDynamicChildren` is complete,
|
|
4046
3887
|
// so we only care about the `oldCh` object inside this function.
|
|
4047
3888
|
// To avoid cloning over and over again, we check `clonedOldCh`
|
|
@@ -4054,7 +3895,7 @@
|
|
|
4054
3895
|
|
|
4055
3896
|
|
|
4056
3897
|
oldCh[idxInOld] = undefined;
|
|
4057
|
-
insertNode(elmToMove.elm, parent, oldStartVnode.elm);
|
|
3898
|
+
insertNode(elmToMove.elm, parent, oldStartVnode.elm, renderer);
|
|
4058
3899
|
}
|
|
4059
3900
|
}
|
|
4060
3901
|
|
|
@@ -4067,35 +3908,35 @@
|
|
|
4067
3908
|
if (oldStartIdx > oldEndIdx) {
|
|
4068
3909
|
// There's some cases in which the sub array of vnodes to be inserted is followed by null(s) and an
|
|
4069
3910
|
// already processed vnode, in such cases the vnodes to be inserted should be before that processed vnode.
|
|
4070
|
-
var
|
|
3911
|
+
var _i14 = newEndIdx;
|
|
4071
3912
|
var n;
|
|
4072
3913
|
|
|
4073
3914
|
do {
|
|
4074
|
-
n = newCh[++
|
|
4075
|
-
} while (!isVNode(n) &&
|
|
3915
|
+
n = newCh[++_i14];
|
|
3916
|
+
} while (!isVNode(n) && _i14 < newChEnd);
|
|
4076
3917
|
|
|
4077
3918
|
before = isVNode(n) ? n.elm : null;
|
|
4078
|
-
mountVNodes(newCh, parent, before, newStartIdx, newEndIdx + 1);
|
|
3919
|
+
mountVNodes(newCh, parent, renderer, before, newStartIdx, newEndIdx + 1);
|
|
4079
3920
|
} else {
|
|
4080
|
-
unmountVNodes(oldCh, parent, true, oldStartIdx, oldEndIdx + 1);
|
|
3921
|
+
unmountVNodes(oldCh, parent, renderer, true, oldStartIdx, oldEndIdx + 1);
|
|
4081
3922
|
}
|
|
4082
3923
|
}
|
|
4083
3924
|
}
|
|
4084
3925
|
|
|
4085
|
-
function updateStaticChildren(c1, c2, parent) {
|
|
3926
|
+
function updateStaticChildren(c1, c2, parent, renderer) {
|
|
4086
3927
|
var c1Length = c1.length;
|
|
4087
3928
|
var c2Length = c2.length;
|
|
4088
3929
|
|
|
4089
3930
|
if (c1Length === 0) {
|
|
4090
3931
|
// the old list is empty, we can directly insert anything new
|
|
4091
|
-
mountVNodes(c2, parent, null);
|
|
3932
|
+
mountVNodes(c2, parent, renderer, null);
|
|
4092
3933
|
return;
|
|
4093
3934
|
}
|
|
4094
3935
|
|
|
4095
3936
|
if (c2Length === 0) {
|
|
4096
3937
|
// the old list is nonempty and the new list is empty so we can directly remove all old nodes
|
|
4097
3938
|
// this is the case in which the dynamic children of an if-directive should be removed
|
|
4098
|
-
unmountVNodes(c1, parent, true);
|
|
3939
|
+
unmountVNodes(c1, parent, renderer, true);
|
|
4099
3940
|
return;
|
|
4100
3941
|
} // if the old list is not empty, the new list MUST have the same
|
|
4101
3942
|
// amount of nodes, that's why we call this static children
|
|
@@ -4103,22 +3944,22 @@
|
|
|
4103
3944
|
|
|
4104
3945
|
var anchor = null;
|
|
4105
3946
|
|
|
4106
|
-
for (var
|
|
4107
|
-
var n1 = c1[
|
|
4108
|
-
var n2 = c2[
|
|
3947
|
+
for (var _i15 = c2Length - 1; _i15 >= 0; _i15 -= 1) {
|
|
3948
|
+
var n1 = c1[_i15];
|
|
3949
|
+
var n2 = c2[_i15];
|
|
4109
3950
|
|
|
4110
3951
|
if (n2 !== n1) {
|
|
4111
3952
|
if (isVNode(n1)) {
|
|
4112
3953
|
if (isVNode(n2)) {
|
|
4113
3954
|
// both vnodes are equivalent, and we just need to patch them
|
|
4114
|
-
patch(n1, n2);
|
|
3955
|
+
patch(n1, n2, renderer);
|
|
4115
3956
|
anchor = n2.elm;
|
|
4116
3957
|
} else {
|
|
4117
3958
|
// removing the old vnode since the new one is null
|
|
4118
|
-
unmount(n1, parent, true);
|
|
3959
|
+
unmount(n1, parent, renderer, true);
|
|
4119
3960
|
}
|
|
4120
3961
|
} else if (isVNode(n2)) {
|
|
4121
|
-
mount(n2, parent, anchor);
|
|
3962
|
+
mount(n2, parent, renderer, anchor);
|
|
4122
3963
|
anchor = n2.elm;
|
|
4123
3964
|
}
|
|
4124
3965
|
}
|
|
@@ -4136,6 +3977,20 @@
|
|
|
4136
3977
|
|
|
4137
3978
|
function addVNodeToChildLWC(vnode) {
|
|
4138
3979
|
ArrayPush$1.call(getVMBeingRendered().velements, vnode);
|
|
3980
|
+
} // [st]atic node
|
|
3981
|
+
|
|
3982
|
+
|
|
3983
|
+
function st(fragment, key) {
|
|
3984
|
+
return {
|
|
3985
|
+
type: 4
|
|
3986
|
+
/* Static */
|
|
3987
|
+
,
|
|
3988
|
+
sel: undefined,
|
|
3989
|
+
key: key,
|
|
3990
|
+
elm: undefined,
|
|
3991
|
+
fragment: fragment,
|
|
3992
|
+
owner: getVMBeingRendered()
|
|
3993
|
+
};
|
|
4139
3994
|
} // [h]tml node
|
|
4140
3995
|
|
|
4141
3996
|
|
|
@@ -4502,6 +4357,7 @@
|
|
|
4502
4357
|
co: co,
|
|
4503
4358
|
dc: dc,
|
|
4504
4359
|
ti: ti,
|
|
4360
|
+
st: st,
|
|
4505
4361
|
gid: gid,
|
|
4506
4362
|
fid: fid,
|
|
4507
4363
|
shc: shc
|
|
@@ -4530,7 +4386,11 @@
|
|
|
4530
4386
|
var elm = vm.elm,
|
|
4531
4387
|
context = vm.context,
|
|
4532
4388
|
renderMode = vm.renderMode,
|
|
4533
|
-
shadowMode = vm.shadowMode
|
|
4389
|
+
shadowMode = vm.shadowMode,
|
|
4390
|
+
_vm$renderer = vm.renderer,
|
|
4391
|
+
getClassList = _vm$renderer.getClassList,
|
|
4392
|
+
removeAttribute = _vm$renderer.removeAttribute,
|
|
4393
|
+
setAttribute = _vm$renderer.setAttribute;
|
|
4534
4394
|
var newStylesheets = template.stylesheets,
|
|
4535
4395
|
newStylesheetToken = template.stylesheetToken;
|
|
4536
4396
|
var isSyntheticShadow = renderMode === 1
|
|
@@ -4549,11 +4409,11 @@
|
|
|
4549
4409
|
|
|
4550
4410
|
if (!isUndefined$1(oldToken)) {
|
|
4551
4411
|
if (oldHasTokenInClass) {
|
|
4552
|
-
getClassList
|
|
4412
|
+
getClassList(elm).remove(makeHostToken(oldToken));
|
|
4553
4413
|
}
|
|
4554
4414
|
|
|
4555
4415
|
if (oldHasTokenInAttribute) {
|
|
4556
|
-
removeAttribute
|
|
4416
|
+
removeAttribute(elm, makeHostToken(oldToken));
|
|
4557
4417
|
}
|
|
4558
4418
|
} // Apply the new template styling token to the host element, if the new template has any
|
|
4559
4419
|
// associated stylesheets. In the case of light DOM, also ensure there is at least one scoped stylesheet.
|
|
@@ -4566,12 +4426,12 @@
|
|
|
4566
4426
|
|
|
4567
4427
|
if (!isUndefined$1(newToken)) {
|
|
4568
4428
|
if (hasScopedStyles) {
|
|
4569
|
-
getClassList
|
|
4429
|
+
getClassList(elm).add(makeHostToken(newToken));
|
|
4570
4430
|
newHasTokenInClass = true;
|
|
4571
4431
|
}
|
|
4572
4432
|
|
|
4573
4433
|
if (isSyntheticShadow) {
|
|
4574
|
-
setAttribute
|
|
4434
|
+
setAttribute(elm, makeHostToken(newToken), '');
|
|
4575
4435
|
newHasTokenInAttribute = true;
|
|
4576
4436
|
}
|
|
4577
4437
|
} // Update the styling tokens present on the context object.
|
|
@@ -4586,8 +4446,8 @@
|
|
|
4586
4446
|
var content = [];
|
|
4587
4447
|
var root;
|
|
4588
4448
|
|
|
4589
|
-
for (var
|
|
4590
|
-
var stylesheet = stylesheets[
|
|
4449
|
+
for (var _i16 = 0; _i16 < stylesheets.length; _i16++) {
|
|
4450
|
+
var stylesheet = stylesheets[_i16];
|
|
4591
4451
|
|
|
4592
4452
|
if (isArray$1(stylesheet)) {
|
|
4593
4453
|
ArrayPush$1.apply(content, evaluateStylesheetsContent(stylesheet, stylesheetToken, vm));
|
|
@@ -4684,31 +4544,33 @@
|
|
|
4684
4544
|
|
|
4685
4545
|
function createStylesheet(vm, stylesheets) {
|
|
4686
4546
|
var renderMode = vm.renderMode,
|
|
4687
|
-
shadowMode = vm.shadowMode
|
|
4547
|
+
shadowMode = vm.shadowMode,
|
|
4548
|
+
_vm$renderer2 = vm.renderer,
|
|
4549
|
+
ssr = _vm$renderer2.ssr,
|
|
4550
|
+
insertStylesheet = _vm$renderer2.insertStylesheet;
|
|
4688
4551
|
|
|
4689
4552
|
if (renderMode === 1
|
|
4690
4553
|
/* Shadow */
|
|
4691
4554
|
&& shadowMode === 1
|
|
4692
4555
|
/* Synthetic */
|
|
4693
4556
|
) {
|
|
4694
|
-
for (var
|
|
4695
|
-
insertStylesheet
|
|
4557
|
+
for (var _i17 = 0; _i17 < stylesheets.length; _i17++) {
|
|
4558
|
+
insertStylesheet(stylesheets[_i17]);
|
|
4696
4559
|
}
|
|
4697
|
-
} else if (ssr
|
|
4560
|
+
} else if (ssr || vm.hydrated) {
|
|
4698
4561
|
// Note: We need to ensure that during hydration, the stylesheets method is the same as those in ssr.
|
|
4699
4562
|
// This works in the client, because the stylesheets are created, and cached in the VM
|
|
4700
4563
|
// the first time the VM renders.
|
|
4701
4564
|
// native shadow or light DOM, SSR
|
|
4702
|
-
|
|
4703
|
-
return createInlineStyleVNode(combinedStylesheetContent);
|
|
4565
|
+
return ArrayMap.call(stylesheets, createInlineStyleVNode);
|
|
4704
4566
|
} else {
|
|
4705
4567
|
// native shadow or light DOM, DOM renderer
|
|
4706
4568
|
var root = getNearestNativeShadowComponent(vm); // null root means a global style
|
|
4707
4569
|
|
|
4708
4570
|
var target = isNull(root) ? undefined : root.shadowRoot;
|
|
4709
4571
|
|
|
4710
|
-
for (var
|
|
4711
|
-
insertStylesheet
|
|
4572
|
+
for (var _i18 = 0; _i18 < stylesheets.length; _i18++) {
|
|
4573
|
+
insertStylesheet(stylesheets[_i18], target);
|
|
4712
4574
|
}
|
|
4713
4575
|
}
|
|
4714
4576
|
|
|
@@ -4812,6 +4674,91 @@
|
|
|
4812
4674
|
}
|
|
4813
4675
|
}
|
|
4814
4676
|
|
|
4677
|
+
function buildParseFragmentFn(createFragmentFn) {
|
|
4678
|
+
return function (strings) {
|
|
4679
|
+
for (var _len5 = arguments.length, keys = new Array(_len5 > 1 ? _len5 - 1 : 0), _key3 = 1; _key3 < _len5; _key3++) {
|
|
4680
|
+
keys[_key3 - 1] = arguments[_key3];
|
|
4681
|
+
}
|
|
4682
|
+
|
|
4683
|
+
var cache = create(null);
|
|
4684
|
+
return function () {
|
|
4685
|
+
var _getVMBeingRendered = getVMBeingRendered(),
|
|
4686
|
+
_getVMBeingRendered$c = _getVMBeingRendered.context,
|
|
4687
|
+
hasScopedStyles = _getVMBeingRendered$c.hasScopedStyles,
|
|
4688
|
+
stylesheetToken = _getVMBeingRendered$c.stylesheetToken,
|
|
4689
|
+
shadowMode = _getVMBeingRendered.shadowMode,
|
|
4690
|
+
renderer = _getVMBeingRendered.renderer;
|
|
4691
|
+
|
|
4692
|
+
var hasStyleToken = !isUndefined$1(stylesheetToken);
|
|
4693
|
+
var isSyntheticShadow = shadowMode === 1
|
|
4694
|
+
/* Synthetic */
|
|
4695
|
+
;
|
|
4696
|
+
var cacheKey = 0;
|
|
4697
|
+
|
|
4698
|
+
if (hasStyleToken && hasScopedStyles) {
|
|
4699
|
+
cacheKey |= 1
|
|
4700
|
+
/* HAS_SCOPED_STYLE */
|
|
4701
|
+
;
|
|
4702
|
+
}
|
|
4703
|
+
|
|
4704
|
+
if (hasStyleToken && isSyntheticShadow) {
|
|
4705
|
+
cacheKey |= 2
|
|
4706
|
+
/* SHADOW_MODE_SYNTHETIC */
|
|
4707
|
+
;
|
|
4708
|
+
}
|
|
4709
|
+
|
|
4710
|
+
if (!isUndefined$1(cache[cacheKey])) {
|
|
4711
|
+
return cache[cacheKey];
|
|
4712
|
+
}
|
|
4713
|
+
|
|
4714
|
+
var classToken = hasScopedStyles && hasStyleToken ? ' ' + stylesheetToken : '';
|
|
4715
|
+
var classAttrToken = hasScopedStyles && hasStyleToken ? " class=\"".concat(stylesheetToken, "\"") : '';
|
|
4716
|
+
var attrToken = hasStyleToken && isSyntheticShadow ? ' ' + stylesheetToken : '';
|
|
4717
|
+
var htmlFragment = '';
|
|
4718
|
+
|
|
4719
|
+
for (var _i19 = 0, n = keys.length; _i19 < n; _i19++) {
|
|
4720
|
+
switch (keys[_i19]) {
|
|
4721
|
+
case 0:
|
|
4722
|
+
// styleToken in existing class attr
|
|
4723
|
+
htmlFragment += strings[_i19] + classToken;
|
|
4724
|
+
break;
|
|
4725
|
+
|
|
4726
|
+
case 1:
|
|
4727
|
+
// styleToken for added class attr
|
|
4728
|
+
htmlFragment += strings[_i19] + classAttrToken;
|
|
4729
|
+
break;
|
|
4730
|
+
|
|
4731
|
+
case 2:
|
|
4732
|
+
// styleToken as attr
|
|
4733
|
+
htmlFragment += strings[_i19] + attrToken;
|
|
4734
|
+
break;
|
|
4735
|
+
|
|
4736
|
+
case 3:
|
|
4737
|
+
// ${1}${2}
|
|
4738
|
+
htmlFragment += strings[_i19] + classAttrToken + attrToken;
|
|
4739
|
+
break;
|
|
4740
|
+
}
|
|
4741
|
+
}
|
|
4742
|
+
|
|
4743
|
+
htmlFragment += strings[strings.length - 1];
|
|
4744
|
+
cache[cacheKey] = createFragmentFn(htmlFragment, renderer);
|
|
4745
|
+
return cache[cacheKey];
|
|
4746
|
+
};
|
|
4747
|
+
};
|
|
4748
|
+
} // Note: at the moment this code executes, we don't have a renderer yet.
|
|
4749
|
+
|
|
4750
|
+
|
|
4751
|
+
var parseFragment = buildParseFragmentFn(function (html, renderer) {
|
|
4752
|
+
var createFragment = renderer.createFragment;
|
|
4753
|
+
return createFragment(html);
|
|
4754
|
+
});
|
|
4755
|
+
var parseSVGFragment = buildParseFragmentFn(function (html, renderer) {
|
|
4756
|
+
var createFragment = renderer.createFragment,
|
|
4757
|
+
getFirstChild = renderer.getFirstChild;
|
|
4758
|
+
var fragment = createFragment('<svg>' + html + '</svg>');
|
|
4759
|
+
return getFirstChild(fragment);
|
|
4760
|
+
});
|
|
4761
|
+
|
|
4815
4762
|
function evaluateTemplate(vm, html) {
|
|
4816
4763
|
|
|
4817
4764
|
var isUpdatingTemplateInception = isUpdatingTemplate;
|
|
@@ -4859,7 +4806,7 @@
|
|
|
4859
4806
|
// re-rendering.
|
|
4860
4807
|
|
|
4861
4808
|
var stylesheetsContent = getStylesheetsContent(vm, html);
|
|
4862
|
-
context.
|
|
4809
|
+
context.styleVNodes = stylesheetsContent.length === 0 ? null : createStylesheet(vm, stylesheetsContent);
|
|
4863
4810
|
}
|
|
4864
4811
|
|
|
4865
4812
|
if ("production" !== 'production') ; // right before producing the vnodes, we clear up all internal references
|
|
@@ -4870,10 +4817,10 @@
|
|
|
4870
4817
|
|
|
4871
4818
|
isUpdatingTemplate = true;
|
|
4872
4819
|
vnodes = html.call(undefined, api, component, cmpSlots, context.tplCache);
|
|
4873
|
-
var
|
|
4820
|
+
var styleVNodes = context.styleVNodes;
|
|
4874
4821
|
|
|
4875
|
-
if (!isNull(
|
|
4876
|
-
ArrayUnshift.
|
|
4822
|
+
if (!isNull(styleVNodes)) {
|
|
4823
|
+
ArrayUnshift.apply(vnodes, styleVNodes);
|
|
4877
4824
|
}
|
|
4878
4825
|
});
|
|
4879
4826
|
}, function () {
|
|
@@ -5197,9 +5144,19 @@
|
|
|
5197
5144
|
resetComponentStateWhenRemoved(vm);
|
|
5198
5145
|
}
|
|
5199
5146
|
|
|
5200
|
-
function
|
|
5201
|
-
var
|
|
5147
|
+
function getNearestShadowAncestor(vm) {
|
|
5148
|
+
var ancestor = vm.owner;
|
|
5149
|
+
|
|
5150
|
+
while (!isNull(ancestor) && ancestor.renderMode === 0
|
|
5151
|
+
/* Light */
|
|
5152
|
+
) {
|
|
5153
|
+
ancestor = ancestor.owner;
|
|
5154
|
+
}
|
|
5202
5155
|
|
|
5156
|
+
return ancestor;
|
|
5157
|
+
}
|
|
5158
|
+
|
|
5159
|
+
function createVM(elm, ctor, renderer, options) {
|
|
5203
5160
|
var mode = options.mode,
|
|
5204
5161
|
owner = options.owner,
|
|
5205
5162
|
tagName = options.tagName,
|
|
@@ -5227,28 +5184,29 @@
|
|
|
5227
5184
|
cmpTemplate: null,
|
|
5228
5185
|
hydrated: Boolean(hydrated),
|
|
5229
5186
|
renderMode: def.renderMode,
|
|
5230
|
-
shadowMode: computeShadowMode(def, owner),
|
|
5231
|
-
nearestShadowMode: (owner === null || owner === void 0 ? void 0 : owner.shadowRoot) ? owner.shadowMode : (_a = owner === null || owner === void 0 ? void 0 : owner.nearestShadowMode) !== null && _a !== void 0 ? _a : null,
|
|
5232
5187
|
context: {
|
|
5233
5188
|
stylesheetToken: undefined,
|
|
5234
5189
|
hasTokenInClass: undefined,
|
|
5235
5190
|
hasTokenInAttribute: undefined,
|
|
5236
5191
|
hasScopedStyles: undefined,
|
|
5237
|
-
|
|
5192
|
+
styleVNodes: null,
|
|
5238
5193
|
tplCache: EmptyObject,
|
|
5239
5194
|
wiredConnecting: EmptyArray,
|
|
5240
5195
|
wiredDisconnecting: EmptyArray
|
|
5241
5196
|
},
|
|
5242
5197
|
// Properties set right after VM creation.
|
|
5243
5198
|
tro: null,
|
|
5199
|
+
shadowMode: null,
|
|
5244
5200
|
// Properties set by the LightningElement constructor.
|
|
5245
5201
|
component: null,
|
|
5246
5202
|
shadowRoot: null,
|
|
5247
5203
|
renderRoot: null,
|
|
5248
5204
|
callHook: callHook,
|
|
5249
5205
|
setHook: setHook,
|
|
5250
|
-
getHook: getHook
|
|
5206
|
+
getHook: getHook,
|
|
5207
|
+
renderer: renderer
|
|
5251
5208
|
};
|
|
5209
|
+
vm.shadowMode = computeShadowMode(vm, renderer);
|
|
5252
5210
|
vm.tro = getTemplateReactiveObserver(vm);
|
|
5253
5211
|
|
|
5254
5212
|
|
|
@@ -5261,12 +5219,13 @@
|
|
|
5261
5219
|
return vm;
|
|
5262
5220
|
}
|
|
5263
5221
|
|
|
5264
|
-
function computeShadowMode(
|
|
5265
|
-
var
|
|
5266
|
-
|
|
5222
|
+
function computeShadowMode(vm, renderer) {
|
|
5223
|
+
var def = vm.def;
|
|
5224
|
+
var isSyntheticShadowDefined = renderer.isSyntheticShadowDefined,
|
|
5225
|
+
isNativeShadowDefined = renderer.isNativeShadowDefined;
|
|
5267
5226
|
var shadowMode;
|
|
5268
5227
|
|
|
5269
|
-
if (isSyntheticShadowDefined
|
|
5228
|
+
if (isSyntheticShadowDefined) {
|
|
5270
5229
|
if (def.renderMode === 0
|
|
5271
5230
|
/* Light */
|
|
5272
5231
|
) {
|
|
@@ -5275,7 +5234,7 @@
|
|
|
5275
5234
|
shadowMode = 0
|
|
5276
5235
|
/* Native */
|
|
5277
5236
|
;
|
|
5278
|
-
} else if (isNativeShadowDefined
|
|
5237
|
+
} else if (isNativeShadowDefined) {
|
|
5279
5238
|
// Not combined with above condition because @lwc/features only supports identifiers in
|
|
5280
5239
|
// the if-condition.
|
|
5281
5240
|
if (runtimeFlags.ENABLE_MIXED_SHADOW_MODE) {
|
|
@@ -5286,13 +5245,23 @@
|
|
|
5286
5245
|
/* Native */
|
|
5287
5246
|
;
|
|
5288
5247
|
} else {
|
|
5289
|
-
|
|
5290
|
-
|
|
5291
|
-
|
|
5292
|
-
|
|
5293
|
-
|
|
5294
|
-
|
|
5295
|
-
|
|
5248
|
+
var shadowAncestor = getNearestShadowAncestor(vm);
|
|
5249
|
+
|
|
5250
|
+
if (!isNull(shadowAncestor) && shadowAncestor.shadowMode === 0
|
|
5251
|
+
/* Native */
|
|
5252
|
+
) {
|
|
5253
|
+
// Transitive support for native Shadow DOM. A component in native mode
|
|
5254
|
+
// transitively opts all of its descendants into native.
|
|
5255
|
+
shadowMode = 0
|
|
5256
|
+
/* Native */
|
|
5257
|
+
;
|
|
5258
|
+
} else {
|
|
5259
|
+
// Synthetic if neither this component nor any of its ancestors are configured
|
|
5260
|
+
// to be native.
|
|
5261
|
+
shadowMode = 1
|
|
5262
|
+
/* Synthetic */
|
|
5263
|
+
;
|
|
5264
|
+
}
|
|
5296
5265
|
}
|
|
5297
5266
|
} else {
|
|
5298
5267
|
shadowMode = 1
|
|
@@ -5340,7 +5309,8 @@
|
|
|
5340
5309
|
|
|
5341
5310
|
function patchShadowRoot(vm, newCh) {
|
|
5342
5311
|
var renderRoot = vm.renderRoot,
|
|
5343
|
-
oldCh = vm.children
|
|
5312
|
+
oldCh = vm.children,
|
|
5313
|
+
renderer = vm.renderer; // caching the new children collection
|
|
5344
5314
|
|
|
5345
5315
|
vm.children = newCh;
|
|
5346
5316
|
|
|
@@ -5355,7 +5325,7 @@
|
|
|
5355
5325
|
, vm);
|
|
5356
5326
|
}, function () {
|
|
5357
5327
|
// job
|
|
5358
|
-
patchChildren(oldCh, newCh, renderRoot);
|
|
5328
|
+
patchChildren(oldCh, newCh, renderRoot, renderer);
|
|
5359
5329
|
}, function () {
|
|
5360
5330
|
// post
|
|
5361
5331
|
logOperationEnd(2
|
|
@@ -5377,9 +5347,10 @@
|
|
|
5377
5347
|
}
|
|
5378
5348
|
|
|
5379
5349
|
function runRenderedCallback(vm) {
|
|
5380
|
-
var renderedCallback = vm.def.renderedCallback
|
|
5350
|
+
var renderedCallback = vm.def.renderedCallback,
|
|
5351
|
+
ssr = vm.renderer.ssr;
|
|
5381
5352
|
|
|
5382
|
-
if (isTrue(ssr
|
|
5353
|
+
if (isTrue(ssr)) {
|
|
5383
5354
|
return;
|
|
5384
5355
|
}
|
|
5385
5356
|
|
|
@@ -5588,13 +5559,14 @@
|
|
|
5588
5559
|
|
|
5589
5560
|
function resetComponentRoot(vm) {
|
|
5590
5561
|
var children = vm.children,
|
|
5591
|
-
renderRoot = vm.renderRoot
|
|
5562
|
+
renderRoot = vm.renderRoot,
|
|
5563
|
+
remove = vm.renderer.remove;
|
|
5592
5564
|
|
|
5593
5565
|
for (var _i26 = 0, len = children.length; _i26 < len; _i26++) {
|
|
5594
5566
|
var child = children[_i26];
|
|
5595
5567
|
|
|
5596
5568
|
if (!isNull(child) && !isUndefined$1(child.elm)) {
|
|
5597
|
-
remove
|
|
5569
|
+
remove(child.elm, renderRoot);
|
|
5598
5570
|
}
|
|
5599
5571
|
}
|
|
5600
5572
|
|
|
@@ -5604,7 +5576,9 @@
|
|
|
5604
5576
|
}
|
|
5605
5577
|
|
|
5606
5578
|
function scheduleRehydration(vm) {
|
|
5607
|
-
|
|
5579
|
+
var ssr = vm.renderer.ssr;
|
|
5580
|
+
|
|
5581
|
+
if (isTrue(ssr) || isTrue(vm.isScheduled)) {
|
|
5608
5582
|
return;
|
|
5609
5583
|
}
|
|
5610
5584
|
|
|
@@ -5771,7 +5745,8 @@
|
|
|
5771
5745
|
var elm = vm.elm,
|
|
5772
5746
|
_vm$context = vm.context,
|
|
5773
5747
|
wiredConnecting = _vm$context.wiredConnecting,
|
|
5774
|
-
wiredDisconnecting = _vm$context.wiredDisconnecting
|
|
5748
|
+
wiredDisconnecting = _vm$context.wiredDisconnecting,
|
|
5749
|
+
dispatchEvent = vm.renderer.dispatchEvent; // waiting for the component to be connected to formally request the context via the token
|
|
5775
5750
|
|
|
5776
5751
|
ArrayPush$1.call(wiredConnecting, function () {
|
|
5777
5752
|
// This event is responsible for connecting the host element with another
|
|
@@ -5791,7 +5766,7 @@
|
|
|
5791
5766
|
ArrayPush$1.call(wiredDisconnecting, disconnectCallback);
|
|
5792
5767
|
}
|
|
5793
5768
|
});
|
|
5794
|
-
dispatchEvent
|
|
5769
|
+
dispatchEvent(elm, contextRegistrationEvent);
|
|
5795
5770
|
});
|
|
5796
5771
|
}
|
|
5797
5772
|
|
|
@@ -6045,79 +6020,103 @@
|
|
|
6045
6020
|
function hydrateVM(vm) {
|
|
6046
6021
|
var children = renderComponent(vm);
|
|
6047
6022
|
vm.children = children;
|
|
6048
|
-
var parentNode = vm.renderRoot
|
|
6049
|
-
|
|
6023
|
+
var parentNode = vm.renderRoot,
|
|
6024
|
+
getFirstChild = vm.renderer.getFirstChild;
|
|
6025
|
+
hydrateChildren(getFirstChild(parentNode), children, parentNode, vm);
|
|
6050
6026
|
runRenderedCallback(vm);
|
|
6051
6027
|
}
|
|
6052
6028
|
|
|
6053
|
-
function hydrateNode(node, vnode) {
|
|
6029
|
+
function hydrateNode(node, vnode, renderer) {
|
|
6030
|
+
var _a, _b;
|
|
6031
|
+
|
|
6054
6032
|
var hydratedNode;
|
|
6055
6033
|
|
|
6056
6034
|
switch (vnode.type) {
|
|
6057
6035
|
case 0
|
|
6058
6036
|
/* Text */
|
|
6059
6037
|
:
|
|
6060
|
-
|
|
6038
|
+
// VText has no special capability, fallback to the owner's renderer
|
|
6039
|
+
hydratedNode = hydrateText(node, vnode, renderer);
|
|
6061
6040
|
break;
|
|
6062
6041
|
|
|
6063
6042
|
case 1
|
|
6064
6043
|
/* Comment */
|
|
6065
6044
|
:
|
|
6066
|
-
|
|
6045
|
+
// VComment has no special capability, fallback to the owner's renderer
|
|
6046
|
+
hydratedNode = hydrateComment(node, vnode, renderer);
|
|
6047
|
+
break;
|
|
6048
|
+
|
|
6049
|
+
case 4
|
|
6050
|
+
/* Static */
|
|
6051
|
+
:
|
|
6052
|
+
// VStatic are cacheable and cannot have custom renderer associated to them
|
|
6053
|
+
hydratedNode = hydrateStaticElement(node, vnode, renderer);
|
|
6067
6054
|
break;
|
|
6068
6055
|
|
|
6069
6056
|
case 2
|
|
6070
6057
|
/* Element */
|
|
6071
6058
|
:
|
|
6072
|
-
hydratedNode = hydrateElement(node, vnode);
|
|
6059
|
+
hydratedNode = hydrateElement(node, vnode, (_a = vnode.data.renderer) !== null && _a !== void 0 ? _a : renderer);
|
|
6073
6060
|
break;
|
|
6074
6061
|
|
|
6075
6062
|
case 3
|
|
6076
6063
|
/* CustomElement */
|
|
6077
6064
|
:
|
|
6078
|
-
hydratedNode = hydrateCustomElement(node, vnode);
|
|
6065
|
+
hydratedNode = hydrateCustomElement(node, vnode, (_b = vnode.data.renderer) !== null && _b !== void 0 ? _b : renderer);
|
|
6079
6066
|
break;
|
|
6080
6067
|
}
|
|
6081
6068
|
|
|
6082
|
-
return nextSibling
|
|
6069
|
+
return renderer.nextSibling(hydratedNode);
|
|
6083
6070
|
}
|
|
6084
6071
|
|
|
6085
|
-
function hydrateText(node, vnode) {
|
|
6072
|
+
function hydrateText(node, vnode, renderer) {
|
|
6086
6073
|
var _a;
|
|
6087
6074
|
|
|
6088
6075
|
if (!hasCorrectNodeType(vnode, node, 3
|
|
6089
6076
|
/* TEXT */
|
|
6090
|
-
)) {
|
|
6091
|
-
return handleMismatch(node, vnode);
|
|
6077
|
+
, renderer)) {
|
|
6078
|
+
return handleMismatch(node, vnode, renderer);
|
|
6092
6079
|
}
|
|
6093
6080
|
|
|
6094
|
-
setText
|
|
6081
|
+
var setText = renderer.setText;
|
|
6082
|
+
setText(node, (_a = vnode.text) !== null && _a !== void 0 ? _a : null);
|
|
6095
6083
|
vnode.elm = node;
|
|
6096
6084
|
return node;
|
|
6097
6085
|
}
|
|
6098
6086
|
|
|
6099
|
-
function hydrateComment(node, vnode) {
|
|
6087
|
+
function hydrateComment(node, vnode, renderer) {
|
|
6100
6088
|
var _a;
|
|
6101
6089
|
|
|
6102
6090
|
if (!hasCorrectNodeType(vnode, node, 8
|
|
6103
6091
|
/* COMMENT */
|
|
6104
|
-
)) {
|
|
6105
|
-
return handleMismatch(node, vnode);
|
|
6092
|
+
, renderer)) {
|
|
6093
|
+
return handleMismatch(node, vnode, renderer);
|
|
6106
6094
|
}
|
|
6107
6095
|
|
|
6108
|
-
setProperty
|
|
6096
|
+
var setProperty = renderer.setProperty;
|
|
6097
|
+
setProperty(node, 'nodeValue', (_a = vnode.text) !== null && _a !== void 0 ? _a : null);
|
|
6109
6098
|
vnode.elm = node;
|
|
6110
6099
|
return node;
|
|
6111
6100
|
}
|
|
6112
6101
|
|
|
6113
|
-
function
|
|
6102
|
+
function hydrateStaticElement(elm, vnode, renderer) {
|
|
6103
|
+
if (!areCompatibleNodes(vnode.fragment, elm, vnode, renderer)) {
|
|
6104
|
+
return handleMismatch(elm, vnode, renderer);
|
|
6105
|
+
}
|
|
6106
|
+
|
|
6107
|
+
vnode.elm = elm;
|
|
6108
|
+
return elm;
|
|
6109
|
+
}
|
|
6110
|
+
|
|
6111
|
+
function hydrateElement(elm, vnode, renderer) {
|
|
6114
6112
|
if (!hasCorrectNodeType(vnode, elm, 1
|
|
6115
6113
|
/* ELEMENT */
|
|
6116
|
-
) || !isMatchingElement(vnode, elm)) {
|
|
6117
|
-
return handleMismatch(elm, vnode);
|
|
6114
|
+
, renderer) || !isMatchingElement(vnode, elm, renderer)) {
|
|
6115
|
+
return handleMismatch(elm, vnode, renderer);
|
|
6118
6116
|
}
|
|
6119
6117
|
|
|
6120
6118
|
vnode.elm = elm;
|
|
6119
|
+
var owner = vnode.owner;
|
|
6121
6120
|
var context = vnode.data.context;
|
|
6122
6121
|
var isDomManual = Boolean(!isUndefined$1(context) && !isUndefined$1(context.lwc) && context.lwc.dom === "manual"
|
|
6123
6122
|
/* Manual */
|
|
@@ -6127,9 +6126,10 @@
|
|
|
6127
6126
|
// it may be that this element has lwc:inner-html, we need to diff and in case are the same,
|
|
6128
6127
|
// remove the innerHTML from props so it reuses the existing dom elements.
|
|
6129
6128
|
var props = vnode.data.props;
|
|
6129
|
+
var _getProperty3 = renderer.getProperty;
|
|
6130
6130
|
|
|
6131
6131
|
if (!isUndefined$1(props) && !isUndefined$1(props.innerHTML)) {
|
|
6132
|
-
if (
|
|
6132
|
+
if (_getProperty3(elm, 'innerHTML') === props.innerHTML) {
|
|
6133
6133
|
// Do a shallow clone since VNodeData may be shared across VNodes due to hoist optimization
|
|
6134
6134
|
vnode.data = Object.assign(Object.assign({}, vnode.data), {
|
|
6135
6135
|
props: cloneAndOmitKey(props, 'innerHTML')
|
|
@@ -6138,27 +6138,28 @@
|
|
|
6138
6138
|
}
|
|
6139
6139
|
}
|
|
6140
6140
|
|
|
6141
|
-
patchElementPropsAndAttrs(vnode);
|
|
6141
|
+
patchElementPropsAndAttrs(vnode, renderer);
|
|
6142
6142
|
|
|
6143
6143
|
if (!isDomManual) {
|
|
6144
|
-
|
|
6144
|
+
var _getFirstChild = renderer.getFirstChild;
|
|
6145
|
+
hydrateChildren(_getFirstChild(elm), vnode.children, elm, owner);
|
|
6145
6146
|
}
|
|
6146
6147
|
|
|
6147
6148
|
return elm;
|
|
6148
6149
|
}
|
|
6149
6150
|
|
|
6150
|
-
function hydrateCustomElement(elm, vnode) {
|
|
6151
|
+
function hydrateCustomElement(elm, vnode, renderer) {
|
|
6151
6152
|
if (!hasCorrectNodeType(vnode, elm, 1
|
|
6152
6153
|
/* ELEMENT */
|
|
6153
|
-
) || !isMatchingElement(vnode, elm)) {
|
|
6154
|
-
return handleMismatch(elm, vnode);
|
|
6154
|
+
, renderer) || !isMatchingElement(vnode, elm, renderer)) {
|
|
6155
|
+
return handleMismatch(elm, vnode, renderer);
|
|
6155
6156
|
}
|
|
6156
6157
|
|
|
6157
6158
|
var sel = vnode.sel,
|
|
6158
6159
|
mode = vnode.mode,
|
|
6159
6160
|
ctor = vnode.ctor,
|
|
6160
6161
|
owner = vnode.owner;
|
|
6161
|
-
var vm = createVM(elm, ctor, {
|
|
6162
|
+
var vm = createVM(elm, ctor, renderer, {
|
|
6162
6163
|
mode: mode,
|
|
6163
6164
|
owner: owner,
|
|
6164
6165
|
tagName: sel,
|
|
@@ -6167,16 +6168,17 @@
|
|
|
6167
6168
|
vnode.elm = elm;
|
|
6168
6169
|
vnode.vm = vm;
|
|
6169
6170
|
allocateChildren(vnode, vm);
|
|
6170
|
-
patchElementPropsAndAttrs(vnode); // Insert hook section:
|
|
6171
|
+
patchElementPropsAndAttrs(vnode, renderer); // Insert hook section:
|
|
6171
6172
|
|
|
6172
6173
|
runConnectedCallback(vm);
|
|
6173
6174
|
|
|
6174
6175
|
if (vm.renderMode !== 0
|
|
6175
6176
|
/* Light */
|
|
6176
6177
|
) {
|
|
6177
|
-
// VM is not rendering in Light DOM, we can proceed and hydrate the slotted content.
|
|
6178
|
+
var _getFirstChild2 = renderer.getFirstChild; // VM is not rendering in Light DOM, we can proceed and hydrate the slotted content.
|
|
6178
6179
|
// Note: for Light DOM, this is handled while hydrating the VM
|
|
6179
|
-
|
|
6180
|
+
|
|
6181
|
+
hydrateChildren(_getFirstChild2(elm), vnode.children, elm, vm);
|
|
6180
6182
|
}
|
|
6181
6183
|
|
|
6182
6184
|
hydrateVM(vm);
|
|
@@ -6186,18 +6188,19 @@
|
|
|
6186
6188
|
function hydrateChildren(node, children, parentNode, owner) {
|
|
6187
6189
|
var nextNode = node;
|
|
6188
6190
|
var anchor = null;
|
|
6191
|
+
var renderer = owner.renderer;
|
|
6189
6192
|
|
|
6190
6193
|
for (var _i29 = 0; _i29 < children.length; _i29++) {
|
|
6191
6194
|
var childVnode = children[_i29];
|
|
6192
6195
|
|
|
6193
6196
|
if (!isNull(childVnode)) {
|
|
6194
6197
|
if (nextNode) {
|
|
6195
|
-
nextNode = hydrateNode(nextNode, childVnode);
|
|
6198
|
+
nextNode = hydrateNode(nextNode, childVnode, renderer);
|
|
6196
6199
|
anchor = childVnode.elm;
|
|
6197
6200
|
} else {
|
|
6198
6201
|
hasMismatch = true;
|
|
6199
6202
|
|
|
6200
|
-
mount(childVnode, parentNode, anchor);
|
|
6203
|
+
mount(childVnode, parentNode, renderer, anchor);
|
|
6201
6204
|
anchor = childVnode.elm;
|
|
6202
6205
|
}
|
|
6203
6206
|
}
|
|
@@ -6205,31 +6208,39 @@
|
|
|
6205
6208
|
|
|
6206
6209
|
if (nextNode) {
|
|
6207
6210
|
hasMismatch = true;
|
|
6211
|
+
// a good reference to what element to act upon, we instead
|
|
6212
|
+
// rely on the vm's associated renderer for navigating to the
|
|
6213
|
+
// next node in the list to be hydrated.
|
|
6214
|
+
|
|
6215
|
+
|
|
6216
|
+
var _nextSibling = renderer.nextSibling;
|
|
6208
6217
|
|
|
6209
6218
|
do {
|
|
6210
6219
|
var current = nextNode;
|
|
6211
|
-
nextNode =
|
|
6212
|
-
removeNode(current, parentNode);
|
|
6220
|
+
nextNode = _nextSibling(nextNode);
|
|
6221
|
+
removeNode(current, parentNode, renderer);
|
|
6213
6222
|
} while (nextNode);
|
|
6214
6223
|
}
|
|
6215
6224
|
}
|
|
6216
6225
|
|
|
6217
|
-
function handleMismatch(node, vnode,
|
|
6226
|
+
function handleMismatch(node, vnode, renderer) {
|
|
6218
6227
|
hasMismatch = true;
|
|
6219
|
-
|
|
6220
|
-
var parentNode = getProperty
|
|
6221
|
-
mount(vnode, parentNode, node);
|
|
6222
|
-
removeNode(node, parentNode);
|
|
6228
|
+
var getProperty = renderer.getProperty;
|
|
6229
|
+
var parentNode = getProperty(node, 'parentNode');
|
|
6230
|
+
mount(vnode, parentNode, renderer, node);
|
|
6231
|
+
removeNode(node, parentNode, renderer);
|
|
6223
6232
|
return vnode.elm;
|
|
6224
6233
|
}
|
|
6225
6234
|
|
|
6226
|
-
function patchElementPropsAndAttrs(vnode) {
|
|
6227
|
-
applyEventListeners(vnode);
|
|
6228
|
-
patchProps(null, vnode);
|
|
6235
|
+
function patchElementPropsAndAttrs(vnode, renderer) {
|
|
6236
|
+
applyEventListeners(vnode, renderer);
|
|
6237
|
+
patchProps(null, vnode, renderer);
|
|
6229
6238
|
}
|
|
6230
6239
|
|
|
6231
|
-
function hasCorrectNodeType(vnode, node, nodeType) {
|
|
6232
|
-
|
|
6240
|
+
function hasCorrectNodeType(vnode, node, nodeType, renderer) {
|
|
6241
|
+
var getProperty = renderer.getProperty;
|
|
6242
|
+
|
|
6243
|
+
if (getProperty(node, 'nodeType') !== nodeType) {
|
|
6233
6244
|
|
|
6234
6245
|
return false;
|
|
6235
6246
|
}
|
|
@@ -6237,19 +6248,21 @@
|
|
|
6237
6248
|
return true;
|
|
6238
6249
|
}
|
|
6239
6250
|
|
|
6240
|
-
function isMatchingElement(vnode, elm) {
|
|
6241
|
-
|
|
6251
|
+
function isMatchingElement(vnode, elm, renderer) {
|
|
6252
|
+
var getProperty = renderer.getProperty;
|
|
6253
|
+
|
|
6254
|
+
if (vnode.sel.toLowerCase() !== getProperty(elm, 'tagName').toLowerCase()) {
|
|
6242
6255
|
|
|
6243
6256
|
return false;
|
|
6244
6257
|
}
|
|
6245
6258
|
|
|
6246
|
-
var hasIncompatibleAttrs = validateAttrs(vnode, elm);
|
|
6247
|
-
var hasIncompatibleClass = validateClassAttr(vnode, elm);
|
|
6248
|
-
var hasIncompatibleStyle = validateStyleAttr(vnode, elm);
|
|
6259
|
+
var hasIncompatibleAttrs = validateAttrs(vnode, elm, renderer);
|
|
6260
|
+
var hasIncompatibleClass = validateClassAttr(vnode, elm, renderer);
|
|
6261
|
+
var hasIncompatibleStyle = validateStyleAttr(vnode, elm, renderer);
|
|
6249
6262
|
return hasIncompatibleAttrs && hasIncompatibleClass && hasIncompatibleStyle;
|
|
6250
6263
|
}
|
|
6251
6264
|
|
|
6252
|
-
function validateAttrs(vnode, elm) {
|
|
6265
|
+
function validateAttrs(vnode, elm, renderer) {
|
|
6253
6266
|
var _vnode$data$attrs = vnode.data.attrs,
|
|
6254
6267
|
attrs = _vnode$data$attrs === void 0 ? {} : _vnode$data$attrs;
|
|
6255
6268
|
var nodesAreCompatible = true; // Validate attributes, though we could always recovery from those by running the update mods.
|
|
@@ -6260,7 +6273,10 @@
|
|
|
6260
6273
|
attrName = _Object$entries$_i[0],
|
|
6261
6274
|
attrValue = _Object$entries$_i[1];
|
|
6262
6275
|
|
|
6263
|
-
|
|
6276
|
+
vnode.owner;
|
|
6277
|
+
var _getAttribute = renderer.getAttribute;
|
|
6278
|
+
|
|
6279
|
+
var elmAttrValue = _getAttribute(elm, attrName);
|
|
6264
6280
|
|
|
6265
6281
|
if (String(attrValue) !== elmAttrValue) {
|
|
6266
6282
|
|
|
@@ -6271,18 +6287,20 @@
|
|
|
6271
6287
|
return nodesAreCompatible;
|
|
6272
6288
|
}
|
|
6273
6289
|
|
|
6274
|
-
function validateClassAttr(vnode, elm) {
|
|
6290
|
+
function validateClassAttr(vnode, elm, renderer) {
|
|
6275
6291
|
var _vnode$data = vnode.data,
|
|
6276
6292
|
className = _vnode$data.className,
|
|
6277
6293
|
classMap = _vnode$data.classMap;
|
|
6294
|
+
var getProperty = renderer.getProperty,
|
|
6295
|
+
getClassList = renderer.getClassList;
|
|
6278
6296
|
var nodesAreCompatible = true;
|
|
6279
6297
|
|
|
6280
|
-
if (!isUndefined$1(className) && String(className) !== getProperty
|
|
6298
|
+
if (!isUndefined$1(className) && String(className) !== getProperty(elm, 'className')) {
|
|
6281
6299
|
// className is used when class is bound to an expr.
|
|
6282
6300
|
nodesAreCompatible = false;
|
|
6283
6301
|
} else if (!isUndefined$1(classMap)) {
|
|
6284
6302
|
// classMap is used when class is set to static value.
|
|
6285
|
-
var classList = getClassList
|
|
6303
|
+
var classList = getClassList(elm);
|
|
6286
6304
|
var computedClassName = ''; // all classes from the vnode should be in the element.classList
|
|
6287
6305
|
|
|
6288
6306
|
for (var name in classMap) {
|
|
@@ -6303,11 +6321,12 @@
|
|
|
6303
6321
|
return nodesAreCompatible;
|
|
6304
6322
|
}
|
|
6305
6323
|
|
|
6306
|
-
function validateStyleAttr(vnode, elm) {
|
|
6324
|
+
function validateStyleAttr(vnode, elm, renderer) {
|
|
6307
6325
|
var _vnode$data2 = vnode.data,
|
|
6308
6326
|
style = _vnode$data2.style,
|
|
6309
6327
|
styleDecls = _vnode$data2.styleDecls;
|
|
6310
|
-
var
|
|
6328
|
+
var getAttribute = renderer.getAttribute;
|
|
6329
|
+
var elmStyle = getAttribute(elm, 'style') || '';
|
|
6311
6330
|
var nodesAreCompatible = true;
|
|
6312
6331
|
|
|
6313
6332
|
if (!isUndefined$1(style) && style !== elmStyle) {
|
|
@@ -6343,6 +6362,57 @@
|
|
|
6343
6362
|
|
|
6344
6363
|
return nodesAreCompatible;
|
|
6345
6364
|
}
|
|
6365
|
+
|
|
6366
|
+
function areCompatibleNodes(client, ssr, vnode, renderer) {
|
|
6367
|
+
var getProperty = renderer.getProperty,
|
|
6368
|
+
getAttribute = renderer.getAttribute;
|
|
6369
|
+
|
|
6370
|
+
if (getProperty(client, 'nodeType') === 3
|
|
6371
|
+
/* TEXT */
|
|
6372
|
+
) {
|
|
6373
|
+
if (!hasCorrectNodeType(vnode, ssr, 3
|
|
6374
|
+
/* TEXT */
|
|
6375
|
+
, renderer)) {
|
|
6376
|
+
return false;
|
|
6377
|
+
}
|
|
6378
|
+
|
|
6379
|
+
return getProperty(client, 'nodeValue') === getProperty(ssr, 'nodeValue');
|
|
6380
|
+
}
|
|
6381
|
+
|
|
6382
|
+
if (getProperty(client, 'nodeType') === 8
|
|
6383
|
+
/* COMMENT */
|
|
6384
|
+
) {
|
|
6385
|
+
if (!hasCorrectNodeType(vnode, ssr, 8
|
|
6386
|
+
/* COMMENT */
|
|
6387
|
+
, renderer)) {
|
|
6388
|
+
return false;
|
|
6389
|
+
}
|
|
6390
|
+
|
|
6391
|
+
return getProperty(client, 'nodeValue') === getProperty(ssr, 'nodeValue');
|
|
6392
|
+
}
|
|
6393
|
+
|
|
6394
|
+
if (!hasCorrectNodeType(vnode, ssr, 1
|
|
6395
|
+
/* ELEMENT */
|
|
6396
|
+
, renderer)) {
|
|
6397
|
+
return false;
|
|
6398
|
+
}
|
|
6399
|
+
|
|
6400
|
+
var isCompatibleElements = true;
|
|
6401
|
+
|
|
6402
|
+
if (getProperty(client, 'tagName') !== getProperty(ssr, 'tagName')) {
|
|
6403
|
+
|
|
6404
|
+
return false;
|
|
6405
|
+
}
|
|
6406
|
+
|
|
6407
|
+
var clientAttrsNames = getProperty(client, 'getAttributeNames').call(client);
|
|
6408
|
+
clientAttrsNames.forEach(function (attrName) {
|
|
6409
|
+
if (getAttribute(client, attrName) !== getAttribute(ssr, attrName)) {
|
|
6410
|
+
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);
|
|
6411
|
+
isCompatibleElements = false;
|
|
6412
|
+
}
|
|
6413
|
+
});
|
|
6414
|
+
return isCompatibleElements;
|
|
6415
|
+
}
|
|
6346
6416
|
/*
|
|
6347
6417
|
* Copyright (c) 2018, salesforce.com, inc.
|
|
6348
6418
|
* All rights reserved.
|
|
@@ -6390,7 +6460,7 @@
|
|
|
6390
6460
|
|
|
6391
6461
|
return ctor;
|
|
6392
6462
|
}
|
|
6393
|
-
/* version: 2.
|
|
6463
|
+
/* version: 2.15.0 */
|
|
6394
6464
|
|
|
6395
6465
|
/*
|
|
6396
6466
|
* Copyright (c) 2018, salesforce.com, inc.
|
|
@@ -6560,7 +6630,7 @@
|
|
|
6560
6630
|
try {
|
|
6561
6631
|
// dereference HTMLElement global because babel wraps globals in compat mode with a
|
|
6562
6632
|
// _wrapNativeSuper()
|
|
6563
|
-
// This is a problem because LWCUpgradableElement extends renderer.
|
|
6633
|
+
// This is a problem because LWCUpgradableElement extends renderer.HTMLElementExported which does not
|
|
6564
6634
|
// get wrapped by babel.
|
|
6565
6635
|
var HTMLElementAlias = HTMLElement; // In case we use compat mode with a modern browser, the compat mode transformation
|
|
6566
6636
|
// invokes the DOM api with an .apply() or .call() to initialize any DOM api sub-classing,
|
|
@@ -6636,9 +6706,22 @@
|
|
|
6636
6706
|
}
|
|
6637
6707
|
|
|
6638
6708
|
var ssr = false;
|
|
6709
|
+
|
|
6710
|
+
function isHydrating() {
|
|
6711
|
+
return hydrating;
|
|
6712
|
+
}
|
|
6713
|
+
|
|
6639
6714
|
var isNativeShadowDefined = _globalThis[KEY__IS_NATIVE_SHADOW_ROOT_DEFINED];
|
|
6640
6715
|
var isSyntheticShadowDefined = hasOwnProperty$1.call(Element.prototype, KEY__SHADOW_TOKEN);
|
|
6641
6716
|
|
|
6717
|
+
function cloneNode(node, deep) {
|
|
6718
|
+
return node.cloneNode(deep);
|
|
6719
|
+
}
|
|
6720
|
+
|
|
6721
|
+
function createFragment(html) {
|
|
6722
|
+
return document.createRange().createContextualFragment(html).firstChild;
|
|
6723
|
+
}
|
|
6724
|
+
|
|
6642
6725
|
function createElement$1(tagName, namespace) {
|
|
6643
6726
|
return isUndefined$1(namespace) ? document.createElement(tagName) : document.createElementNS(namespace, tagName);
|
|
6644
6727
|
}
|
|
@@ -6770,44 +6853,54 @@
|
|
|
6770
6853
|
return node.isConnected;
|
|
6771
6854
|
}
|
|
6772
6855
|
|
|
6856
|
+
function assertInstanceOfHTMLElement(elm, msg) {
|
|
6857
|
+
assert.invariant(elm instanceof HTMLElement, msg);
|
|
6858
|
+
}
|
|
6859
|
+
|
|
6773
6860
|
var HTMLElementExported = HTMLElementConstructor;
|
|
6774
|
-
|
|
6775
|
-
|
|
6776
|
-
|
|
6777
|
-
|
|
6778
|
-
|
|
6779
|
-
|
|
6780
|
-
|
|
6781
|
-
|
|
6782
|
-
|
|
6783
|
-
|
|
6784
|
-
|
|
6785
|
-
|
|
6786
|
-
|
|
6787
|
-
|
|
6788
|
-
|
|
6789
|
-
|
|
6790
|
-
|
|
6791
|
-
|
|
6792
|
-
|
|
6793
|
-
|
|
6794
|
-
|
|
6795
|
-
|
|
6796
|
-
|
|
6797
|
-
|
|
6798
|
-
|
|
6799
|
-
|
|
6800
|
-
|
|
6801
|
-
|
|
6802
|
-
|
|
6803
|
-
|
|
6804
|
-
|
|
6805
|
-
|
|
6806
|
-
|
|
6807
|
-
|
|
6808
|
-
|
|
6809
|
-
|
|
6810
|
-
|
|
6861
|
+
var renderer = {
|
|
6862
|
+
ssr: ssr,
|
|
6863
|
+
isNativeShadowDefined: isNativeShadowDefined,
|
|
6864
|
+
isSyntheticShadowDefined: isSyntheticShadowDefined,
|
|
6865
|
+
HTMLElementExported: HTMLElementExported,
|
|
6866
|
+
isHydrating: isHydrating,
|
|
6867
|
+
insert: insert,
|
|
6868
|
+
remove: remove,
|
|
6869
|
+
cloneNode: cloneNode,
|
|
6870
|
+
createFragment: createFragment,
|
|
6871
|
+
createElement: createElement$1,
|
|
6872
|
+
createText: createText,
|
|
6873
|
+
createComment: createComment,
|
|
6874
|
+
nextSibling: nextSibling,
|
|
6875
|
+
attachShadow: attachShadow,
|
|
6876
|
+
getProperty: getProperty,
|
|
6877
|
+
setProperty: setProperty,
|
|
6878
|
+
setText: setText,
|
|
6879
|
+
getAttribute: getAttribute,
|
|
6880
|
+
setAttribute: setAttribute,
|
|
6881
|
+
removeAttribute: removeAttribute,
|
|
6882
|
+
addEventListener: addEventListener,
|
|
6883
|
+
removeEventListener: removeEventListener,
|
|
6884
|
+
dispatchEvent: dispatchEvent,
|
|
6885
|
+
getClassList: getClassList,
|
|
6886
|
+
setCSSStyleProperty: setCSSStyleProperty,
|
|
6887
|
+
getBoundingClientRect: getBoundingClientRect,
|
|
6888
|
+
querySelector: querySelector,
|
|
6889
|
+
querySelectorAll: querySelectorAll,
|
|
6890
|
+
getElementsByTagName: getElementsByTagName,
|
|
6891
|
+
getElementsByClassName: getElementsByClassName,
|
|
6892
|
+
getChildren: getChildren,
|
|
6893
|
+
getChildNodes: getChildNodes,
|
|
6894
|
+
getFirstChild: getFirstChild,
|
|
6895
|
+
getFirstElementChild: getFirstElementChild,
|
|
6896
|
+
getLastChild: getLastChild,
|
|
6897
|
+
getLastElementChild: getLastElementChild,
|
|
6898
|
+
isConnected: isConnected,
|
|
6899
|
+
insertStylesheet: insertStylesheet,
|
|
6900
|
+
assertInstanceOfHTMLElement: assertInstanceOfHTMLElement,
|
|
6901
|
+
defineCustomElement: defineCustomElement,
|
|
6902
|
+
getCustomElement: getCustomElement
|
|
6903
|
+
};
|
|
6811
6904
|
/*
|
|
6812
6905
|
* Copyright (c) 2018, salesforce.com, inc.
|
|
6813
6906
|
* All rights reserved.
|
|
@@ -6815,7 +6908,6 @@
|
|
|
6815
6908
|
* For full license text, see the LICENSE file in the repo root or https://opensource.org/licenses/MIT
|
|
6816
6909
|
*/
|
|
6817
6910
|
|
|
6818
|
-
|
|
6819
6911
|
function resetShadowRootAndLightDom(element, Ctor) {
|
|
6820
6912
|
if (element.shadowRoot) {
|
|
6821
6913
|
var shadowRoot = element.shadowRoot;
|
|
@@ -6833,7 +6925,7 @@
|
|
|
6833
6925
|
}
|
|
6834
6926
|
|
|
6835
6927
|
function createVMWithProps(element, Ctor, props) {
|
|
6836
|
-
var vm = createVM(element, Ctor, {
|
|
6928
|
+
var vm = createVM(element, Ctor, renderer, {
|
|
6837
6929
|
mode: 'open',
|
|
6838
6930
|
owner: null,
|
|
6839
6931
|
tagName: element.tagName.toLowerCase(),
|
|
@@ -6949,7 +7041,7 @@
|
|
|
6949
7041
|
hydrateComponent(_assertThisInitialized(_this6), Ctor, {});
|
|
6950
7042
|
hydratedCustomElements.add(_assertThisInitialized(_this6));
|
|
6951
7043
|
} else {
|
|
6952
|
-
createVM(_assertThisInitialized(_this6), Ctor, {
|
|
7044
|
+
createVM(_assertThisInitialized(_this6), Ctor, renderer, {
|
|
6953
7045
|
mode: 'open',
|
|
6954
7046
|
owner: null,
|
|
6955
7047
|
tagName: _this6.tagName
|
|
@@ -7058,7 +7150,7 @@
|
|
|
7058
7150
|
throw new TypeError("\"createElement\" function expects an \"is\" option with a valid component constructor.");
|
|
7059
7151
|
}
|
|
7060
7152
|
|
|
7061
|
-
var UpgradableConstructor = getUpgradableConstructor(sel);
|
|
7153
|
+
var UpgradableConstructor = getUpgradableConstructor(sel, renderer);
|
|
7062
7154
|
var wasComponentUpgraded = false; // the custom element from the registry is expecting an upgrade callback
|
|
7063
7155
|
|
|
7064
7156
|
/**
|
|
@@ -7069,7 +7161,7 @@
|
|
|
7069
7161
|
*/
|
|
7070
7162
|
|
|
7071
7163
|
var element = new UpgradableConstructor(function (elm) {
|
|
7072
|
-
createVM(elm, Ctor, {
|
|
7164
|
+
createVM(elm, Ctor, renderer, {
|
|
7073
7165
|
tagName: sel,
|
|
7074
7166
|
mode: options.mode !== 'closed' ? 'open' : 'closed',
|
|
7075
7167
|
owner: null
|
|
@@ -7166,7 +7258,7 @@
|
|
|
7166
7258
|
});
|
|
7167
7259
|
freeze(LightningElement);
|
|
7168
7260
|
seal(LightningElement.prototype);
|
|
7169
|
-
/* version: 2.
|
|
7261
|
+
/* version: 2.15.0 */
|
|
7170
7262
|
|
|
7171
7263
|
exports.LightningElement = LightningElement;
|
|
7172
7264
|
exports.__unstable__ProfilerControl = profilerControl;
|
|
@@ -7180,11 +7272,14 @@
|
|
|
7180
7272
|
exports.hydrateComponent = hydrateComponent;
|
|
7181
7273
|
exports.isComponentConstructor = isComponentConstructor;
|
|
7182
7274
|
exports.isNodeFromTemplate = isNodeShadowed;
|
|
7275
|
+
exports.parseFragment = parseFragment;
|
|
7276
|
+
exports.parseSVGFragment = parseSVGFragment;
|
|
7183
7277
|
exports.readonly = readonly;
|
|
7184
7278
|
exports.register = register;
|
|
7185
7279
|
exports.registerComponent = registerComponent;
|
|
7186
7280
|
exports.registerDecorators = registerDecorators;
|
|
7187
7281
|
exports.registerTemplate = registerTemplate;
|
|
7282
|
+
exports.renderer = renderer;
|
|
7188
7283
|
exports.sanitizeAttribute = sanitizeAttribute;
|
|
7189
7284
|
exports.setFeatureFlag = setFeatureFlag;
|
|
7190
7285
|
exports.setFeatureFlagForTest = setFeatureFlagForTest;
|