lwc 2.14.1 → 2.16.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 +598 -541
- package/dist/engine-dom/iife/es2017/engine-dom.js +600 -540
- package/dist/engine-dom/iife/es2017/engine-dom.min.js +1 -1
- package/dist/engine-dom/iife/es2017/engine-dom_debug.js +537 -485
- package/dist/engine-dom/iife/es5/engine-dom.js +768 -679
- package/dist/engine-dom/iife/es5/engine-dom.min.js +1 -1
- package/dist/engine-dom/iife/es5/engine-dom_debug.js +692 -621
- package/dist/engine-dom/umd/es2017/engine-dom.js +600 -540
- package/dist/engine-dom/umd/es2017/engine-dom.min.js +1 -1
- package/dist/engine-dom/umd/es2017/engine-dom_debug.js +537 -485
- package/dist/engine-dom/umd/es5/engine-dom.js +768 -679
- package/dist/engine-dom/umd/es5/engine-dom.min.js +1 -1
- package/dist/engine-dom/umd/es5/engine-dom_debug.js +692 -621
- package/dist/engine-server/commonjs/es2017/engine-server.js +455 -460
- package/dist/engine-server/commonjs/es2017/engine-server.min.js +1 -1
- package/dist/engine-server/esm/es2017/engine-server.js +453 -461
- 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.16.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.
|
|
2152
|
-
|
|
2153
|
-
var childGetters = ['children', 'childNodes', 'firstChild', 'firstElementChild', 'lastChild', 'lastElementChild'];
|
|
1926
|
+
var renderer = vm.renderer;
|
|
2154
1927
|
|
|
2155
|
-
|
|
2156
|
-
|
|
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);
|
|
3415
|
+
}
|
|
3416
|
+
|
|
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);
|
|
3609
3438
|
}
|
|
3610
3439
|
|
|
3611
|
-
function mountCustomElement(vnode, parent, anchor) {
|
|
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,28 +3500,30 @@
|
|
|
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
3529
|
switch (type) {
|
|
@@ -3702,10 +3533,10 @@
|
|
|
3702
3533
|
{
|
|
3703
3534
|
// Slot content is removed to trigger slotchange event when removing slot.
|
|
3704
3535
|
// Only required for synthetic shadow.
|
|
3705
|
-
var
|
|
3536
|
+
var shouldRemoveChildren = sel === 'slot' && vnode.owner.shadowMode === 1
|
|
3706
3537
|
/* Synthetic */
|
|
3707
3538
|
;
|
|
3708
|
-
unmountVNodes(vnode.children, elm,
|
|
3539
|
+
unmountVNodes(vnode.children, elm, renderer, shouldRemoveChildren);
|
|
3709
3540
|
break;
|
|
3710
3541
|
}
|
|
3711
3542
|
|
|
@@ -3723,16 +3554,16 @@
|
|
|
3723
3554
|
}
|
|
3724
3555
|
}
|
|
3725
3556
|
|
|
3726
|
-
function unmountVNodes(vnodes, parent) {
|
|
3727
|
-
var doRemove = arguments.length >
|
|
3728
|
-
var start = arguments.length >
|
|
3729
|
-
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;
|
|
3730
3561
|
|
|
3731
3562
|
for (; start < end; ++start) {
|
|
3732
3563
|
var ch = vnodes[start];
|
|
3733
3564
|
|
|
3734
3565
|
if (isVNode(ch)) {
|
|
3735
|
-
unmount(ch, parent, doRemove);
|
|
3566
|
+
unmount(ch, parent, renderer, doRemove);
|
|
3736
3567
|
}
|
|
3737
3568
|
}
|
|
3738
3569
|
}
|
|
@@ -3750,22 +3581,26 @@
|
|
|
3750
3581
|
} // Set the scope token class for *.scoped.css styles
|
|
3751
3582
|
|
|
3752
3583
|
|
|
3753
|
-
function setScopeTokenClassIfNecessary(elm, owner) {
|
|
3584
|
+
function setScopeTokenClassIfNecessary(elm, owner, renderer) {
|
|
3754
3585
|
var cmpTemplate = owner.cmpTemplate,
|
|
3755
3586
|
context = owner.context;
|
|
3587
|
+
var getClassList = renderer.getClassList;
|
|
3756
3588
|
var token = cmpTemplate === null || cmpTemplate === void 0 ? void 0 : cmpTemplate.stylesheetToken;
|
|
3757
3589
|
|
|
3758
3590
|
if (!isUndefined$1(token) && context.hasScopedStyles) {
|
|
3759
|
-
|
|
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);
|
|
3760
3594
|
}
|
|
3761
3595
|
}
|
|
3762
3596
|
|
|
3763
|
-
function linkNodeToShadow(elm, owner) {
|
|
3597
|
+
function linkNodeToShadow(elm, owner, renderer) {
|
|
3764
3598
|
var renderRoot = owner.renderRoot,
|
|
3765
3599
|
renderMode = owner.renderMode,
|
|
3766
|
-
shadowMode = owner.shadowMode;
|
|
3600
|
+
shadowMode = owner.shadowMode;
|
|
3601
|
+
var isSyntheticShadowDefined = renderer.isSyntheticShadowDefined; // TODO [#1164]: this should eventually be done by the polyfill directly
|
|
3767
3602
|
|
|
3768
|
-
if (isSyntheticShadowDefined
|
|
3603
|
+
if (isSyntheticShadowDefined) {
|
|
3769
3604
|
if (shadowMode === 1
|
|
3770
3605
|
/* Synthetic */
|
|
3771
3606
|
|| renderMode === 0
|
|
@@ -3776,41 +3611,42 @@
|
|
|
3776
3611
|
}
|
|
3777
3612
|
}
|
|
3778
3613
|
|
|
3779
|
-
function updateTextContent(vnode) {
|
|
3614
|
+
function updateTextContent(vnode, renderer) {
|
|
3780
3615
|
var elm = vnode.elm,
|
|
3781
3616
|
text = vnode.text;
|
|
3617
|
+
var setText = renderer.setText;
|
|
3782
3618
|
|
|
3783
|
-
setText
|
|
3619
|
+
setText(elm, text);
|
|
3784
3620
|
}
|
|
3785
3621
|
|
|
3786
|
-
function insertNode(node, parent, anchor) {
|
|
3622
|
+
function insertNode(node, parent, anchor, renderer) {
|
|
3787
3623
|
|
|
3788
|
-
insert
|
|
3624
|
+
renderer.insert(node, parent, anchor);
|
|
3789
3625
|
}
|
|
3790
3626
|
|
|
3791
|
-
function removeNode(node, parent) {
|
|
3627
|
+
function removeNode(node, parent, renderer) {
|
|
3792
3628
|
|
|
3793
|
-
remove
|
|
3629
|
+
renderer.remove(node, parent);
|
|
3794
3630
|
}
|
|
3795
3631
|
|
|
3796
|
-
function patchElementPropsAndAttrs$1(oldVnode, vnode) {
|
|
3632
|
+
function patchElementPropsAndAttrs$1(oldVnode, vnode, renderer) {
|
|
3797
3633
|
if (isNull(oldVnode)) {
|
|
3798
|
-
applyEventListeners(vnode);
|
|
3799
|
-
applyStaticClassAttribute(vnode);
|
|
3800
|
-
applyStaticStyleAttribute(vnode);
|
|
3634
|
+
applyEventListeners(vnode, renderer);
|
|
3635
|
+
applyStaticClassAttribute(vnode, renderer);
|
|
3636
|
+
applyStaticStyleAttribute(vnode, renderer);
|
|
3801
3637
|
} // Attrs need to be applied to element before props IE11 will wipe out value on radio inputs if
|
|
3802
3638
|
// value is set before type=radio.
|
|
3803
3639
|
|
|
3804
3640
|
|
|
3805
|
-
patchClassAttribute(oldVnode, vnode);
|
|
3806
|
-
patchStyleAttribute(oldVnode, vnode);
|
|
3807
|
-
patchAttributes(oldVnode, vnode);
|
|
3808
|
-
patchProps(oldVnode, vnode);
|
|
3641
|
+
patchClassAttribute(oldVnode, vnode, renderer);
|
|
3642
|
+
patchStyleAttribute(oldVnode, vnode, renderer);
|
|
3643
|
+
patchAttributes(oldVnode, vnode, renderer);
|
|
3644
|
+
patchProps(oldVnode, vnode, renderer);
|
|
3809
3645
|
}
|
|
3810
3646
|
|
|
3811
|
-
function fallbackElmHook(elm, vnode) {
|
|
3647
|
+
function fallbackElmHook(elm, vnode, renderer) {
|
|
3812
3648
|
var owner = vnode.owner;
|
|
3813
|
-
setScopeTokenClassIfNecessary(elm, owner);
|
|
3649
|
+
setScopeTokenClassIfNecessary(elm, owner, renderer);
|
|
3814
3650
|
|
|
3815
3651
|
if (owner.shadowMode === 1
|
|
3816
3652
|
/* Synthetic */
|
|
@@ -3863,7 +3699,7 @@
|
|
|
3863
3699
|
}
|
|
3864
3700
|
}
|
|
3865
3701
|
|
|
3866
|
-
function createViewModelHook(elm, vnode) {
|
|
3702
|
+
function createViewModelHook(elm, vnode, renderer) {
|
|
3867
3703
|
var vm = getAssociatedVMIfPresent(elm); // There is a possibility that a custom element is registered under tagName, in which case, the
|
|
3868
3704
|
// initialization is already carry on, and there is nothing else to do here since this hook is
|
|
3869
3705
|
// called right after invoking `document.createElement`.
|
|
@@ -3876,7 +3712,7 @@
|
|
|
3876
3712
|
mode = vnode.mode,
|
|
3877
3713
|
ctor = vnode.ctor,
|
|
3878
3714
|
owner = vnode.owner;
|
|
3879
|
-
setScopeTokenClassIfNecessary(elm, owner);
|
|
3715
|
+
setScopeTokenClassIfNecessary(elm, owner, renderer);
|
|
3880
3716
|
|
|
3881
3717
|
if (owner.shadowMode === 1
|
|
3882
3718
|
/* Synthetic */
|
|
@@ -3889,7 +3725,7 @@
|
|
|
3889
3725
|
}
|
|
3890
3726
|
}
|
|
3891
3727
|
|
|
3892
|
-
vm = createVM(elm, ctor, {
|
|
3728
|
+
vm = createVM(elm, ctor, renderer, {
|
|
3893
3729
|
mode: mode,
|
|
3894
3730
|
owner: owner,
|
|
3895
3731
|
tagName: sel
|
|
@@ -3904,8 +3740,8 @@
|
|
|
3904
3740
|
var oldSlots = vm.cmpSlots;
|
|
3905
3741
|
var cmpSlots = vm.cmpSlots = create(null);
|
|
3906
3742
|
|
|
3907
|
-
for (var
|
|
3908
|
-
var vnode = children[
|
|
3743
|
+
for (var _i12 = 0, len = children.length; _i12 < len; _i12 += 1) {
|
|
3744
|
+
var vnode = children[_i12];
|
|
3909
3745
|
|
|
3910
3746
|
if (isNull(vnode)) {
|
|
3911
3747
|
continue;
|
|
@@ -3931,8 +3767,8 @@
|
|
|
3931
3767
|
return;
|
|
3932
3768
|
}
|
|
3933
3769
|
|
|
3934
|
-
for (var
|
|
3935
|
-
var key = oldKeys[
|
|
3770
|
+
for (var _i13 = 0, _len4 = oldKeys.length; _i13 < _len4; _i13 += 1) {
|
|
3771
|
+
var key = oldKeys[_i13];
|
|
3936
3772
|
|
|
3937
3773
|
if (isUndefined$1(cmpSlots[key]) || oldSlots[key].length !== cmpSlots[key].length) {
|
|
3938
3774
|
markComponentAsDirty(vm);
|
|
@@ -3982,7 +3818,7 @@
|
|
|
3982
3818
|
return map;
|
|
3983
3819
|
}
|
|
3984
3820
|
|
|
3985
|
-
function updateDynamicChildren(oldCh, newCh, parent) {
|
|
3821
|
+
function updateDynamicChildren(oldCh, newCh, parent, renderer) {
|
|
3986
3822
|
var oldStartIdx = 0;
|
|
3987
3823
|
var newStartIdx = 0;
|
|
3988
3824
|
var oldEndIdx = oldCh.length - 1;
|
|
@@ -4008,23 +3844,23 @@
|
|
|
4008
3844
|
} else if (!isVNode(newEndVnode)) {
|
|
4009
3845
|
newEndVnode = newCh[--newEndIdx];
|
|
4010
3846
|
} else if (isSameVnode(oldStartVnode, newStartVnode)) {
|
|
4011
|
-
patch(oldStartVnode, newStartVnode);
|
|
3847
|
+
patch(oldStartVnode, newStartVnode, renderer);
|
|
4012
3848
|
oldStartVnode = oldCh[++oldStartIdx];
|
|
4013
3849
|
newStartVnode = newCh[++newStartIdx];
|
|
4014
3850
|
} else if (isSameVnode(oldEndVnode, newEndVnode)) {
|
|
4015
|
-
patch(oldEndVnode, newEndVnode);
|
|
3851
|
+
patch(oldEndVnode, newEndVnode, renderer);
|
|
4016
3852
|
oldEndVnode = oldCh[--oldEndIdx];
|
|
4017
3853
|
newEndVnode = newCh[--newEndIdx];
|
|
4018
3854
|
} else if (isSameVnode(oldStartVnode, newEndVnode)) {
|
|
4019
3855
|
// Vnode moved right
|
|
4020
|
-
patch(oldStartVnode, newEndVnode);
|
|
4021
|
-
insertNode(oldStartVnode.elm, parent, nextSibling
|
|
3856
|
+
patch(oldStartVnode, newEndVnode, renderer);
|
|
3857
|
+
insertNode(oldStartVnode.elm, parent, renderer.nextSibling(oldEndVnode.elm), renderer);
|
|
4022
3858
|
oldStartVnode = oldCh[++oldStartIdx];
|
|
4023
3859
|
newEndVnode = newCh[--newEndIdx];
|
|
4024
3860
|
} else if (isSameVnode(oldEndVnode, newStartVnode)) {
|
|
4025
3861
|
// Vnode moved left
|
|
4026
|
-
patch(oldEndVnode, newStartVnode);
|
|
4027
|
-
insertNode(newStartVnode.elm, parent, oldStartVnode.elm);
|
|
3862
|
+
patch(oldEndVnode, newStartVnode, renderer);
|
|
3863
|
+
insertNode(newStartVnode.elm, parent, oldStartVnode.elm, renderer);
|
|
4028
3864
|
oldEndVnode = oldCh[--oldEndIdx];
|
|
4029
3865
|
newStartVnode = newCh[++newStartIdx];
|
|
4030
3866
|
} else {
|
|
@@ -4036,7 +3872,7 @@
|
|
|
4036
3872
|
|
|
4037
3873
|
if (isUndefined$1(idxInOld)) {
|
|
4038
3874
|
// New element
|
|
4039
|
-
mount(newStartVnode, parent, oldStartVnode.elm);
|
|
3875
|
+
mount(newStartVnode, parent, renderer, oldStartVnode.elm);
|
|
4040
3876
|
newStartVnode = newCh[++newStartIdx];
|
|
4041
3877
|
} else {
|
|
4042
3878
|
elmToMove = oldCh[idxInOld];
|
|
@@ -4044,9 +3880,9 @@
|
|
|
4044
3880
|
if (isVNode(elmToMove)) {
|
|
4045
3881
|
if (elmToMove.sel !== newStartVnode.sel) {
|
|
4046
3882
|
// New element
|
|
4047
|
-
mount(newStartVnode, parent, oldStartVnode.elm);
|
|
3883
|
+
mount(newStartVnode, parent, renderer, oldStartVnode.elm);
|
|
4048
3884
|
} else {
|
|
4049
|
-
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.
|
|
4050
3886
|
// The `oldCh` will be GC'ed after `updateDynamicChildren` is complete,
|
|
4051
3887
|
// so we only care about the `oldCh` object inside this function.
|
|
4052
3888
|
// To avoid cloning over and over again, we check `clonedOldCh`
|
|
@@ -4059,7 +3895,7 @@
|
|
|
4059
3895
|
|
|
4060
3896
|
|
|
4061
3897
|
oldCh[idxInOld] = undefined;
|
|
4062
|
-
insertNode(elmToMove.elm, parent, oldStartVnode.elm);
|
|
3898
|
+
insertNode(elmToMove.elm, parent, oldStartVnode.elm, renderer);
|
|
4063
3899
|
}
|
|
4064
3900
|
}
|
|
4065
3901
|
|
|
@@ -4072,35 +3908,35 @@
|
|
|
4072
3908
|
if (oldStartIdx > oldEndIdx) {
|
|
4073
3909
|
// There's some cases in which the sub array of vnodes to be inserted is followed by null(s) and an
|
|
4074
3910
|
// already processed vnode, in such cases the vnodes to be inserted should be before that processed vnode.
|
|
4075
|
-
var
|
|
3911
|
+
var _i14 = newEndIdx;
|
|
4076
3912
|
var n;
|
|
4077
3913
|
|
|
4078
3914
|
do {
|
|
4079
|
-
n = newCh[++
|
|
4080
|
-
} while (!isVNode(n) &&
|
|
3915
|
+
n = newCh[++_i14];
|
|
3916
|
+
} while (!isVNode(n) && _i14 < newChEnd);
|
|
4081
3917
|
|
|
4082
3918
|
before = isVNode(n) ? n.elm : null;
|
|
4083
|
-
mountVNodes(newCh, parent, before, newStartIdx, newEndIdx + 1);
|
|
3919
|
+
mountVNodes(newCh, parent, renderer, before, newStartIdx, newEndIdx + 1);
|
|
4084
3920
|
} else {
|
|
4085
|
-
unmountVNodes(oldCh, parent, true, oldStartIdx, oldEndIdx + 1);
|
|
3921
|
+
unmountVNodes(oldCh, parent, renderer, true, oldStartIdx, oldEndIdx + 1);
|
|
4086
3922
|
}
|
|
4087
3923
|
}
|
|
4088
3924
|
}
|
|
4089
3925
|
|
|
4090
|
-
function updateStaticChildren(c1, c2, parent) {
|
|
3926
|
+
function updateStaticChildren(c1, c2, parent, renderer) {
|
|
4091
3927
|
var c1Length = c1.length;
|
|
4092
3928
|
var c2Length = c2.length;
|
|
4093
3929
|
|
|
4094
3930
|
if (c1Length === 0) {
|
|
4095
3931
|
// the old list is empty, we can directly insert anything new
|
|
4096
|
-
mountVNodes(c2, parent, null);
|
|
3932
|
+
mountVNodes(c2, parent, renderer, null);
|
|
4097
3933
|
return;
|
|
4098
3934
|
}
|
|
4099
3935
|
|
|
4100
3936
|
if (c2Length === 0) {
|
|
4101
3937
|
// the old list is nonempty and the new list is empty so we can directly remove all old nodes
|
|
4102
3938
|
// this is the case in which the dynamic children of an if-directive should be removed
|
|
4103
|
-
unmountVNodes(c1, parent, true);
|
|
3939
|
+
unmountVNodes(c1, parent, renderer, true);
|
|
4104
3940
|
return;
|
|
4105
3941
|
} // if the old list is not empty, the new list MUST have the same
|
|
4106
3942
|
// amount of nodes, that's why we call this static children
|
|
@@ -4108,22 +3944,22 @@
|
|
|
4108
3944
|
|
|
4109
3945
|
var anchor = null;
|
|
4110
3946
|
|
|
4111
|
-
for (var
|
|
4112
|
-
var n1 = c1[
|
|
4113
|
-
var n2 = c2[
|
|
3947
|
+
for (var _i15 = c2Length - 1; _i15 >= 0; _i15 -= 1) {
|
|
3948
|
+
var n1 = c1[_i15];
|
|
3949
|
+
var n2 = c2[_i15];
|
|
4114
3950
|
|
|
4115
3951
|
if (n2 !== n1) {
|
|
4116
3952
|
if (isVNode(n1)) {
|
|
4117
3953
|
if (isVNode(n2)) {
|
|
4118
3954
|
// both vnodes are equivalent, and we just need to patch them
|
|
4119
|
-
patch(n1, n2);
|
|
3955
|
+
patch(n1, n2, renderer);
|
|
4120
3956
|
anchor = n2.elm;
|
|
4121
3957
|
} else {
|
|
4122
3958
|
// removing the old vnode since the new one is null
|
|
4123
|
-
unmount(n1, parent, true);
|
|
3959
|
+
unmount(n1, parent, renderer, true);
|
|
4124
3960
|
}
|
|
4125
3961
|
} else if (isVNode(n2)) {
|
|
4126
|
-
mount(n2, parent, anchor);
|
|
3962
|
+
mount(n2, parent, renderer, anchor);
|
|
4127
3963
|
anchor = n2.elm;
|
|
4128
3964
|
}
|
|
4129
3965
|
}
|
|
@@ -4141,6 +3977,20 @@
|
|
|
4141
3977
|
|
|
4142
3978
|
function addVNodeToChildLWC(vnode) {
|
|
4143
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
|
+
};
|
|
4144
3994
|
} // [h]tml node
|
|
4145
3995
|
|
|
4146
3996
|
|
|
@@ -4507,6 +4357,7 @@
|
|
|
4507
4357
|
co: co,
|
|
4508
4358
|
dc: dc,
|
|
4509
4359
|
ti: ti,
|
|
4360
|
+
st: st,
|
|
4510
4361
|
gid: gid,
|
|
4511
4362
|
fid: fid,
|
|
4512
4363
|
shc: shc
|
|
@@ -4535,7 +4386,11 @@
|
|
|
4535
4386
|
var elm = vm.elm,
|
|
4536
4387
|
context = vm.context,
|
|
4537
4388
|
renderMode = vm.renderMode,
|
|
4538
|
-
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;
|
|
4539
4394
|
var newStylesheets = template.stylesheets,
|
|
4540
4395
|
newStylesheetToken = template.stylesheetToken;
|
|
4541
4396
|
var isSyntheticShadow = renderMode === 1
|
|
@@ -4554,11 +4409,11 @@
|
|
|
4554
4409
|
|
|
4555
4410
|
if (!isUndefined$1(oldToken)) {
|
|
4556
4411
|
if (oldHasTokenInClass) {
|
|
4557
|
-
getClassList
|
|
4412
|
+
getClassList(elm).remove(makeHostToken(oldToken));
|
|
4558
4413
|
}
|
|
4559
4414
|
|
|
4560
4415
|
if (oldHasTokenInAttribute) {
|
|
4561
|
-
removeAttribute
|
|
4416
|
+
removeAttribute(elm, makeHostToken(oldToken));
|
|
4562
4417
|
}
|
|
4563
4418
|
} // Apply the new template styling token to the host element, if the new template has any
|
|
4564
4419
|
// associated stylesheets. In the case of light DOM, also ensure there is at least one scoped stylesheet.
|
|
@@ -4571,12 +4426,12 @@
|
|
|
4571
4426
|
|
|
4572
4427
|
if (!isUndefined$1(newToken)) {
|
|
4573
4428
|
if (hasScopedStyles) {
|
|
4574
|
-
getClassList
|
|
4429
|
+
getClassList(elm).add(makeHostToken(newToken));
|
|
4575
4430
|
newHasTokenInClass = true;
|
|
4576
4431
|
}
|
|
4577
4432
|
|
|
4578
4433
|
if (isSyntheticShadow) {
|
|
4579
|
-
setAttribute
|
|
4434
|
+
setAttribute(elm, makeHostToken(newToken), '');
|
|
4580
4435
|
newHasTokenInAttribute = true;
|
|
4581
4436
|
}
|
|
4582
4437
|
} // Update the styling tokens present on the context object.
|
|
@@ -4591,8 +4446,8 @@
|
|
|
4591
4446
|
var content = [];
|
|
4592
4447
|
var root;
|
|
4593
4448
|
|
|
4594
|
-
for (var
|
|
4595
|
-
var stylesheet = stylesheets[
|
|
4449
|
+
for (var _i16 = 0; _i16 < stylesheets.length; _i16++) {
|
|
4450
|
+
var stylesheet = stylesheets[_i16];
|
|
4596
4451
|
|
|
4597
4452
|
if (isArray$1(stylesheet)) {
|
|
4598
4453
|
ArrayPush$1.apply(content, evaluateStylesheetsContent(stylesheet, stylesheetToken, vm));
|
|
@@ -4689,31 +4544,33 @@
|
|
|
4689
4544
|
|
|
4690
4545
|
function createStylesheet(vm, stylesheets) {
|
|
4691
4546
|
var renderMode = vm.renderMode,
|
|
4692
|
-
shadowMode = vm.shadowMode
|
|
4547
|
+
shadowMode = vm.shadowMode,
|
|
4548
|
+
_vm$renderer2 = vm.renderer,
|
|
4549
|
+
ssr = _vm$renderer2.ssr,
|
|
4550
|
+
insertStylesheet = _vm$renderer2.insertStylesheet;
|
|
4693
4551
|
|
|
4694
4552
|
if (renderMode === 1
|
|
4695
4553
|
/* Shadow */
|
|
4696
4554
|
&& shadowMode === 1
|
|
4697
4555
|
/* Synthetic */
|
|
4698
4556
|
) {
|
|
4699
|
-
for (var
|
|
4700
|
-
insertStylesheet
|
|
4557
|
+
for (var _i17 = 0; _i17 < stylesheets.length; _i17++) {
|
|
4558
|
+
insertStylesheet(stylesheets[_i17]);
|
|
4701
4559
|
}
|
|
4702
|
-
} else if (ssr
|
|
4560
|
+
} else if (ssr || vm.hydrated) {
|
|
4703
4561
|
// Note: We need to ensure that during hydration, the stylesheets method is the same as those in ssr.
|
|
4704
4562
|
// This works in the client, because the stylesheets are created, and cached in the VM
|
|
4705
4563
|
// the first time the VM renders.
|
|
4706
4564
|
// native shadow or light DOM, SSR
|
|
4707
|
-
|
|
4708
|
-
return createInlineStyleVNode(combinedStylesheetContent);
|
|
4565
|
+
return ArrayMap.call(stylesheets, createInlineStyleVNode);
|
|
4709
4566
|
} else {
|
|
4710
4567
|
// native shadow or light DOM, DOM renderer
|
|
4711
4568
|
var root = getNearestNativeShadowComponent(vm); // null root means a global style
|
|
4712
4569
|
|
|
4713
4570
|
var target = isNull(root) ? undefined : root.shadowRoot;
|
|
4714
4571
|
|
|
4715
|
-
for (var
|
|
4716
|
-
insertStylesheet
|
|
4572
|
+
for (var _i18 = 0; _i18 < stylesheets.length; _i18++) {
|
|
4573
|
+
insertStylesheet(stylesheets[_i18], target);
|
|
4717
4574
|
}
|
|
4718
4575
|
}
|
|
4719
4576
|
|
|
@@ -4817,6 +4674,91 @@
|
|
|
4817
4674
|
}
|
|
4818
4675
|
}
|
|
4819
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
|
+
|
|
4820
4762
|
function evaluateTemplate(vm, html) {
|
|
4821
4763
|
|
|
4822
4764
|
var isUpdatingTemplateInception = isUpdatingTemplate;
|
|
@@ -4864,7 +4806,7 @@
|
|
|
4864
4806
|
// re-rendering.
|
|
4865
4807
|
|
|
4866
4808
|
var stylesheetsContent = getStylesheetsContent(vm, html);
|
|
4867
|
-
context.
|
|
4809
|
+
context.styleVNodes = stylesheetsContent.length === 0 ? null : createStylesheet(vm, stylesheetsContent);
|
|
4868
4810
|
}
|
|
4869
4811
|
|
|
4870
4812
|
if ("production" !== 'production') ; // right before producing the vnodes, we clear up all internal references
|
|
@@ -4875,10 +4817,10 @@
|
|
|
4875
4817
|
|
|
4876
4818
|
isUpdatingTemplate = true;
|
|
4877
4819
|
vnodes = html.call(undefined, api, component, cmpSlots, context.tplCache);
|
|
4878
|
-
var
|
|
4820
|
+
var styleVNodes = context.styleVNodes;
|
|
4879
4821
|
|
|
4880
|
-
if (!isNull(
|
|
4881
|
-
ArrayUnshift.
|
|
4822
|
+
if (!isNull(styleVNodes)) {
|
|
4823
|
+
ArrayUnshift.apply(vnodes, styleVNodes);
|
|
4882
4824
|
}
|
|
4883
4825
|
});
|
|
4884
4826
|
}, function () {
|
|
@@ -5214,7 +5156,7 @@
|
|
|
5214
5156
|
return ancestor;
|
|
5215
5157
|
}
|
|
5216
5158
|
|
|
5217
|
-
function createVM(elm, ctor, options) {
|
|
5159
|
+
function createVM(elm, ctor, renderer, options) {
|
|
5218
5160
|
var mode = options.mode,
|
|
5219
5161
|
owner = options.owner,
|
|
5220
5162
|
tagName = options.tagName,
|
|
@@ -5247,7 +5189,7 @@
|
|
|
5247
5189
|
hasTokenInClass: undefined,
|
|
5248
5190
|
hasTokenInAttribute: undefined,
|
|
5249
5191
|
hasScopedStyles: undefined,
|
|
5250
|
-
|
|
5192
|
+
styleVNodes: null,
|
|
5251
5193
|
tplCache: EmptyObject,
|
|
5252
5194
|
wiredConnecting: EmptyArray,
|
|
5253
5195
|
wiredDisconnecting: EmptyArray
|
|
@@ -5261,9 +5203,10 @@
|
|
|
5261
5203
|
renderRoot: null,
|
|
5262
5204
|
callHook: callHook,
|
|
5263
5205
|
setHook: setHook,
|
|
5264
|
-
getHook: getHook
|
|
5206
|
+
getHook: getHook,
|
|
5207
|
+
renderer: renderer
|
|
5265
5208
|
};
|
|
5266
|
-
vm.shadowMode = computeShadowMode(vm);
|
|
5209
|
+
vm.shadowMode = computeShadowMode(vm, renderer);
|
|
5267
5210
|
vm.tro = getTemplateReactiveObserver(vm);
|
|
5268
5211
|
|
|
5269
5212
|
|
|
@@ -5276,11 +5219,13 @@
|
|
|
5276
5219
|
return vm;
|
|
5277
5220
|
}
|
|
5278
5221
|
|
|
5279
|
-
function computeShadowMode(vm) {
|
|
5222
|
+
function computeShadowMode(vm, renderer) {
|
|
5280
5223
|
var def = vm.def;
|
|
5224
|
+
var isSyntheticShadowDefined = renderer.isSyntheticShadowDefined,
|
|
5225
|
+
isNativeShadowDefined = renderer.isNativeShadowDefined;
|
|
5281
5226
|
var shadowMode;
|
|
5282
5227
|
|
|
5283
|
-
if (isSyntheticShadowDefined
|
|
5228
|
+
if (isSyntheticShadowDefined) {
|
|
5284
5229
|
if (def.renderMode === 0
|
|
5285
5230
|
/* Light */
|
|
5286
5231
|
) {
|
|
@@ -5289,7 +5234,7 @@
|
|
|
5289
5234
|
shadowMode = 0
|
|
5290
5235
|
/* Native */
|
|
5291
5236
|
;
|
|
5292
|
-
} else if (isNativeShadowDefined
|
|
5237
|
+
} else if (isNativeShadowDefined) {
|
|
5293
5238
|
// Not combined with above condition because @lwc/features only supports identifiers in
|
|
5294
5239
|
// the if-condition.
|
|
5295
5240
|
if (runtimeFlags.ENABLE_MIXED_SHADOW_MODE) {
|
|
@@ -5364,7 +5309,8 @@
|
|
|
5364
5309
|
|
|
5365
5310
|
function patchShadowRoot(vm, newCh) {
|
|
5366
5311
|
var renderRoot = vm.renderRoot,
|
|
5367
|
-
oldCh = vm.children
|
|
5312
|
+
oldCh = vm.children,
|
|
5313
|
+
renderer = vm.renderer; // caching the new children collection
|
|
5368
5314
|
|
|
5369
5315
|
vm.children = newCh;
|
|
5370
5316
|
|
|
@@ -5379,7 +5325,7 @@
|
|
|
5379
5325
|
, vm);
|
|
5380
5326
|
}, function () {
|
|
5381
5327
|
// job
|
|
5382
|
-
patchChildren(oldCh, newCh, renderRoot);
|
|
5328
|
+
patchChildren(oldCh, newCh, renderRoot, renderer);
|
|
5383
5329
|
}, function () {
|
|
5384
5330
|
// post
|
|
5385
5331
|
logOperationEnd(2
|
|
@@ -5401,9 +5347,10 @@
|
|
|
5401
5347
|
}
|
|
5402
5348
|
|
|
5403
5349
|
function runRenderedCallback(vm) {
|
|
5404
|
-
var renderedCallback = vm.def.renderedCallback
|
|
5350
|
+
var renderedCallback = vm.def.renderedCallback,
|
|
5351
|
+
ssr = vm.renderer.ssr;
|
|
5405
5352
|
|
|
5406
|
-
if (isTrue(ssr
|
|
5353
|
+
if (isTrue(ssr)) {
|
|
5407
5354
|
return;
|
|
5408
5355
|
}
|
|
5409
5356
|
|
|
@@ -5612,13 +5559,14 @@
|
|
|
5612
5559
|
|
|
5613
5560
|
function resetComponentRoot(vm) {
|
|
5614
5561
|
var children = vm.children,
|
|
5615
|
-
renderRoot = vm.renderRoot
|
|
5562
|
+
renderRoot = vm.renderRoot,
|
|
5563
|
+
remove = vm.renderer.remove;
|
|
5616
5564
|
|
|
5617
5565
|
for (var _i26 = 0, len = children.length; _i26 < len; _i26++) {
|
|
5618
5566
|
var child = children[_i26];
|
|
5619
5567
|
|
|
5620
5568
|
if (!isNull(child) && !isUndefined$1(child.elm)) {
|
|
5621
|
-
remove
|
|
5569
|
+
remove(child.elm, renderRoot);
|
|
5622
5570
|
}
|
|
5623
5571
|
}
|
|
5624
5572
|
|
|
@@ -5628,7 +5576,9 @@
|
|
|
5628
5576
|
}
|
|
5629
5577
|
|
|
5630
5578
|
function scheduleRehydration(vm) {
|
|
5631
|
-
|
|
5579
|
+
var ssr = vm.renderer.ssr;
|
|
5580
|
+
|
|
5581
|
+
if (isTrue(ssr) || isTrue(vm.isScheduled)) {
|
|
5632
5582
|
return;
|
|
5633
5583
|
}
|
|
5634
5584
|
|
|
@@ -5795,7 +5745,8 @@
|
|
|
5795
5745
|
var elm = vm.elm,
|
|
5796
5746
|
_vm$context = vm.context,
|
|
5797
5747
|
wiredConnecting = _vm$context.wiredConnecting,
|
|
5798
|
-
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
|
|
5799
5750
|
|
|
5800
5751
|
ArrayPush$1.call(wiredConnecting, function () {
|
|
5801
5752
|
// This event is responsible for connecting the host element with another
|
|
@@ -5815,7 +5766,7 @@
|
|
|
5815
5766
|
ArrayPush$1.call(wiredDisconnecting, disconnectCallback);
|
|
5816
5767
|
}
|
|
5817
5768
|
});
|
|
5818
|
-
dispatchEvent
|
|
5769
|
+
dispatchEvent(elm, contextRegistrationEvent);
|
|
5819
5770
|
});
|
|
5820
5771
|
}
|
|
5821
5772
|
|
|
@@ -6069,79 +6020,103 @@
|
|
|
6069
6020
|
function hydrateVM(vm) {
|
|
6070
6021
|
var children = renderComponent(vm);
|
|
6071
6022
|
vm.children = children;
|
|
6072
|
-
var parentNode = vm.renderRoot
|
|
6073
|
-
|
|
6023
|
+
var parentNode = vm.renderRoot,
|
|
6024
|
+
getFirstChild = vm.renderer.getFirstChild;
|
|
6025
|
+
hydrateChildren(getFirstChild(parentNode), children, parentNode, vm);
|
|
6074
6026
|
runRenderedCallback(vm);
|
|
6075
6027
|
}
|
|
6076
6028
|
|
|
6077
|
-
function hydrateNode(node, vnode) {
|
|
6029
|
+
function hydrateNode(node, vnode, renderer) {
|
|
6030
|
+
var _a, _b;
|
|
6031
|
+
|
|
6078
6032
|
var hydratedNode;
|
|
6079
6033
|
|
|
6080
6034
|
switch (vnode.type) {
|
|
6081
6035
|
case 0
|
|
6082
6036
|
/* Text */
|
|
6083
6037
|
:
|
|
6084
|
-
|
|
6038
|
+
// VText has no special capability, fallback to the owner's renderer
|
|
6039
|
+
hydratedNode = hydrateText(node, vnode, renderer);
|
|
6085
6040
|
break;
|
|
6086
6041
|
|
|
6087
6042
|
case 1
|
|
6088
6043
|
/* Comment */
|
|
6089
6044
|
:
|
|
6090
|
-
|
|
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);
|
|
6091
6054
|
break;
|
|
6092
6055
|
|
|
6093
6056
|
case 2
|
|
6094
6057
|
/* Element */
|
|
6095
6058
|
:
|
|
6096
|
-
hydratedNode = hydrateElement(node, vnode);
|
|
6059
|
+
hydratedNode = hydrateElement(node, vnode, (_a = vnode.data.renderer) !== null && _a !== void 0 ? _a : renderer);
|
|
6097
6060
|
break;
|
|
6098
6061
|
|
|
6099
6062
|
case 3
|
|
6100
6063
|
/* CustomElement */
|
|
6101
6064
|
:
|
|
6102
|
-
hydratedNode = hydrateCustomElement(node, vnode);
|
|
6065
|
+
hydratedNode = hydrateCustomElement(node, vnode, (_b = vnode.data.renderer) !== null && _b !== void 0 ? _b : renderer);
|
|
6103
6066
|
break;
|
|
6104
6067
|
}
|
|
6105
6068
|
|
|
6106
|
-
return nextSibling
|
|
6069
|
+
return renderer.nextSibling(hydratedNode);
|
|
6107
6070
|
}
|
|
6108
6071
|
|
|
6109
|
-
function hydrateText(node, vnode) {
|
|
6072
|
+
function hydrateText(node, vnode, renderer) {
|
|
6110
6073
|
var _a;
|
|
6111
6074
|
|
|
6112
6075
|
if (!hasCorrectNodeType(vnode, node, 3
|
|
6113
6076
|
/* TEXT */
|
|
6114
|
-
)) {
|
|
6115
|
-
return handleMismatch(node, vnode);
|
|
6077
|
+
, renderer)) {
|
|
6078
|
+
return handleMismatch(node, vnode, renderer);
|
|
6116
6079
|
}
|
|
6117
6080
|
|
|
6118
|
-
setText
|
|
6081
|
+
var setText = renderer.setText;
|
|
6082
|
+
setText(node, (_a = vnode.text) !== null && _a !== void 0 ? _a : null);
|
|
6119
6083
|
vnode.elm = node;
|
|
6120
6084
|
return node;
|
|
6121
6085
|
}
|
|
6122
6086
|
|
|
6123
|
-
function hydrateComment(node, vnode) {
|
|
6087
|
+
function hydrateComment(node, vnode, renderer) {
|
|
6124
6088
|
var _a;
|
|
6125
6089
|
|
|
6126
6090
|
if (!hasCorrectNodeType(vnode, node, 8
|
|
6127
6091
|
/* COMMENT */
|
|
6128
|
-
)) {
|
|
6129
|
-
return handleMismatch(node, vnode);
|
|
6092
|
+
, renderer)) {
|
|
6093
|
+
return handleMismatch(node, vnode, renderer);
|
|
6130
6094
|
}
|
|
6131
6095
|
|
|
6132
|
-
setProperty
|
|
6096
|
+
var setProperty = renderer.setProperty;
|
|
6097
|
+
setProperty(node, 'nodeValue', (_a = vnode.text) !== null && _a !== void 0 ? _a : null);
|
|
6133
6098
|
vnode.elm = node;
|
|
6134
6099
|
return node;
|
|
6135
6100
|
}
|
|
6136
6101
|
|
|
6137
|
-
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) {
|
|
6138
6112
|
if (!hasCorrectNodeType(vnode, elm, 1
|
|
6139
6113
|
/* ELEMENT */
|
|
6140
|
-
) || !isMatchingElement(vnode, elm)) {
|
|
6141
|
-
return handleMismatch(elm, vnode);
|
|
6114
|
+
, renderer) || !isMatchingElement(vnode, elm, renderer)) {
|
|
6115
|
+
return handleMismatch(elm, vnode, renderer);
|
|
6142
6116
|
}
|
|
6143
6117
|
|
|
6144
6118
|
vnode.elm = elm;
|
|
6119
|
+
var owner = vnode.owner;
|
|
6145
6120
|
var context = vnode.data.context;
|
|
6146
6121
|
var isDomManual = Boolean(!isUndefined$1(context) && !isUndefined$1(context.lwc) && context.lwc.dom === "manual"
|
|
6147
6122
|
/* Manual */
|
|
@@ -6151,9 +6126,10 @@
|
|
|
6151
6126
|
// it may be that this element has lwc:inner-html, we need to diff and in case are the same,
|
|
6152
6127
|
// remove the innerHTML from props so it reuses the existing dom elements.
|
|
6153
6128
|
var props = vnode.data.props;
|
|
6129
|
+
var _getProperty3 = renderer.getProperty;
|
|
6154
6130
|
|
|
6155
6131
|
if (!isUndefined$1(props) && !isUndefined$1(props.innerHTML)) {
|
|
6156
|
-
if (
|
|
6132
|
+
if (_getProperty3(elm, 'innerHTML') === props.innerHTML) {
|
|
6157
6133
|
// Do a shallow clone since VNodeData may be shared across VNodes due to hoist optimization
|
|
6158
6134
|
vnode.data = Object.assign(Object.assign({}, vnode.data), {
|
|
6159
6135
|
props: cloneAndOmitKey(props, 'innerHTML')
|
|
@@ -6162,27 +6138,28 @@
|
|
|
6162
6138
|
}
|
|
6163
6139
|
}
|
|
6164
6140
|
|
|
6165
|
-
patchElementPropsAndAttrs(vnode);
|
|
6141
|
+
patchElementPropsAndAttrs(vnode, renderer);
|
|
6166
6142
|
|
|
6167
6143
|
if (!isDomManual) {
|
|
6168
|
-
|
|
6144
|
+
var _getFirstChild = renderer.getFirstChild;
|
|
6145
|
+
hydrateChildren(_getFirstChild(elm), vnode.children, elm, owner);
|
|
6169
6146
|
}
|
|
6170
6147
|
|
|
6171
6148
|
return elm;
|
|
6172
6149
|
}
|
|
6173
6150
|
|
|
6174
|
-
function hydrateCustomElement(elm, vnode) {
|
|
6151
|
+
function hydrateCustomElement(elm, vnode, renderer) {
|
|
6175
6152
|
if (!hasCorrectNodeType(vnode, elm, 1
|
|
6176
6153
|
/* ELEMENT */
|
|
6177
|
-
) || !isMatchingElement(vnode, elm)) {
|
|
6178
|
-
return handleMismatch(elm, vnode);
|
|
6154
|
+
, renderer) || !isMatchingElement(vnode, elm, renderer)) {
|
|
6155
|
+
return handleMismatch(elm, vnode, renderer);
|
|
6179
6156
|
}
|
|
6180
6157
|
|
|
6181
6158
|
var sel = vnode.sel,
|
|
6182
6159
|
mode = vnode.mode,
|
|
6183
6160
|
ctor = vnode.ctor,
|
|
6184
6161
|
owner = vnode.owner;
|
|
6185
|
-
var vm = createVM(elm, ctor, {
|
|
6162
|
+
var vm = createVM(elm, ctor, renderer, {
|
|
6186
6163
|
mode: mode,
|
|
6187
6164
|
owner: owner,
|
|
6188
6165
|
tagName: sel,
|
|
@@ -6191,16 +6168,17 @@
|
|
|
6191
6168
|
vnode.elm = elm;
|
|
6192
6169
|
vnode.vm = vm;
|
|
6193
6170
|
allocateChildren(vnode, vm);
|
|
6194
|
-
patchElementPropsAndAttrs(vnode); // Insert hook section:
|
|
6171
|
+
patchElementPropsAndAttrs(vnode, renderer); // Insert hook section:
|
|
6195
6172
|
|
|
6196
6173
|
runConnectedCallback(vm);
|
|
6197
6174
|
|
|
6198
6175
|
if (vm.renderMode !== 0
|
|
6199
6176
|
/* Light */
|
|
6200
6177
|
) {
|
|
6201
|
-
// 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.
|
|
6202
6179
|
// Note: for Light DOM, this is handled while hydrating the VM
|
|
6203
|
-
|
|
6180
|
+
|
|
6181
|
+
hydrateChildren(_getFirstChild2(elm), vnode.children, elm, vm);
|
|
6204
6182
|
}
|
|
6205
6183
|
|
|
6206
6184
|
hydrateVM(vm);
|
|
@@ -6210,18 +6188,19 @@
|
|
|
6210
6188
|
function hydrateChildren(node, children, parentNode, owner) {
|
|
6211
6189
|
var nextNode = node;
|
|
6212
6190
|
var anchor = null;
|
|
6191
|
+
var renderer = owner.renderer;
|
|
6213
6192
|
|
|
6214
6193
|
for (var _i29 = 0; _i29 < children.length; _i29++) {
|
|
6215
6194
|
var childVnode = children[_i29];
|
|
6216
6195
|
|
|
6217
6196
|
if (!isNull(childVnode)) {
|
|
6218
6197
|
if (nextNode) {
|
|
6219
|
-
nextNode = hydrateNode(nextNode, childVnode);
|
|
6198
|
+
nextNode = hydrateNode(nextNode, childVnode, renderer);
|
|
6220
6199
|
anchor = childVnode.elm;
|
|
6221
6200
|
} else {
|
|
6222
6201
|
hasMismatch = true;
|
|
6223
6202
|
|
|
6224
|
-
mount(childVnode, parentNode, anchor);
|
|
6203
|
+
mount(childVnode, parentNode, renderer, anchor);
|
|
6225
6204
|
anchor = childVnode.elm;
|
|
6226
6205
|
}
|
|
6227
6206
|
}
|
|
@@ -6229,31 +6208,39 @@
|
|
|
6229
6208
|
|
|
6230
6209
|
if (nextNode) {
|
|
6231
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;
|
|
6232
6217
|
|
|
6233
6218
|
do {
|
|
6234
6219
|
var current = nextNode;
|
|
6235
|
-
nextNode =
|
|
6236
|
-
removeNode(current, parentNode);
|
|
6220
|
+
nextNode = _nextSibling(nextNode);
|
|
6221
|
+
removeNode(current, parentNode, renderer);
|
|
6237
6222
|
} while (nextNode);
|
|
6238
6223
|
}
|
|
6239
6224
|
}
|
|
6240
6225
|
|
|
6241
|
-
function handleMismatch(node, vnode,
|
|
6226
|
+
function handleMismatch(node, vnode, renderer) {
|
|
6242
6227
|
hasMismatch = true;
|
|
6243
|
-
|
|
6244
|
-
var parentNode = getProperty
|
|
6245
|
-
mount(vnode, parentNode, node);
|
|
6246
|
-
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);
|
|
6247
6232
|
return vnode.elm;
|
|
6248
6233
|
}
|
|
6249
6234
|
|
|
6250
|
-
function patchElementPropsAndAttrs(vnode) {
|
|
6251
|
-
applyEventListeners(vnode);
|
|
6252
|
-
patchProps(null, vnode);
|
|
6235
|
+
function patchElementPropsAndAttrs(vnode, renderer) {
|
|
6236
|
+
applyEventListeners(vnode, renderer);
|
|
6237
|
+
patchProps(null, vnode, renderer);
|
|
6253
6238
|
}
|
|
6254
6239
|
|
|
6255
|
-
function hasCorrectNodeType(vnode, node, nodeType) {
|
|
6256
|
-
|
|
6240
|
+
function hasCorrectNodeType(vnode, node, nodeType, renderer) {
|
|
6241
|
+
var getProperty = renderer.getProperty;
|
|
6242
|
+
|
|
6243
|
+
if (getProperty(node, 'nodeType') !== nodeType) {
|
|
6257
6244
|
|
|
6258
6245
|
return false;
|
|
6259
6246
|
}
|
|
@@ -6261,19 +6248,21 @@
|
|
|
6261
6248
|
return true;
|
|
6262
6249
|
}
|
|
6263
6250
|
|
|
6264
|
-
function isMatchingElement(vnode, elm) {
|
|
6265
|
-
|
|
6251
|
+
function isMatchingElement(vnode, elm, renderer) {
|
|
6252
|
+
var getProperty = renderer.getProperty;
|
|
6253
|
+
|
|
6254
|
+
if (vnode.sel.toLowerCase() !== getProperty(elm, 'tagName').toLowerCase()) {
|
|
6266
6255
|
|
|
6267
6256
|
return false;
|
|
6268
6257
|
}
|
|
6269
6258
|
|
|
6270
|
-
var hasIncompatibleAttrs = validateAttrs(vnode, elm);
|
|
6271
|
-
var hasIncompatibleClass = validateClassAttr(vnode, elm);
|
|
6272
|
-
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);
|
|
6273
6262
|
return hasIncompatibleAttrs && hasIncompatibleClass && hasIncompatibleStyle;
|
|
6274
6263
|
}
|
|
6275
6264
|
|
|
6276
|
-
function validateAttrs(vnode, elm) {
|
|
6265
|
+
function validateAttrs(vnode, elm, renderer) {
|
|
6277
6266
|
var _vnode$data$attrs = vnode.data.attrs,
|
|
6278
6267
|
attrs = _vnode$data$attrs === void 0 ? {} : _vnode$data$attrs;
|
|
6279
6268
|
var nodesAreCompatible = true; // Validate attributes, though we could always recovery from those by running the update mods.
|
|
@@ -6284,7 +6273,10 @@
|
|
|
6284
6273
|
attrName = _Object$entries$_i[0],
|
|
6285
6274
|
attrValue = _Object$entries$_i[1];
|
|
6286
6275
|
|
|
6287
|
-
|
|
6276
|
+
vnode.owner;
|
|
6277
|
+
var _getAttribute = renderer.getAttribute;
|
|
6278
|
+
|
|
6279
|
+
var elmAttrValue = _getAttribute(elm, attrName);
|
|
6288
6280
|
|
|
6289
6281
|
if (String(attrValue) !== elmAttrValue) {
|
|
6290
6282
|
|
|
@@ -6295,18 +6287,20 @@
|
|
|
6295
6287
|
return nodesAreCompatible;
|
|
6296
6288
|
}
|
|
6297
6289
|
|
|
6298
|
-
function validateClassAttr(vnode, elm) {
|
|
6290
|
+
function validateClassAttr(vnode, elm, renderer) {
|
|
6299
6291
|
var _vnode$data = vnode.data,
|
|
6300
6292
|
className = _vnode$data.className,
|
|
6301
6293
|
classMap = _vnode$data.classMap;
|
|
6294
|
+
var getProperty = renderer.getProperty,
|
|
6295
|
+
getClassList = renderer.getClassList;
|
|
6302
6296
|
var nodesAreCompatible = true;
|
|
6303
6297
|
|
|
6304
|
-
if (!isUndefined$1(className) && String(className) !== getProperty
|
|
6298
|
+
if (!isUndefined$1(className) && String(className) !== getProperty(elm, 'className')) {
|
|
6305
6299
|
// className is used when class is bound to an expr.
|
|
6306
6300
|
nodesAreCompatible = false;
|
|
6307
6301
|
} else if (!isUndefined$1(classMap)) {
|
|
6308
6302
|
// classMap is used when class is set to static value.
|
|
6309
|
-
var classList = getClassList
|
|
6303
|
+
var classList = getClassList(elm);
|
|
6310
6304
|
var computedClassName = ''; // all classes from the vnode should be in the element.classList
|
|
6311
6305
|
|
|
6312
6306
|
for (var name in classMap) {
|
|
@@ -6327,11 +6321,12 @@
|
|
|
6327
6321
|
return nodesAreCompatible;
|
|
6328
6322
|
}
|
|
6329
6323
|
|
|
6330
|
-
function validateStyleAttr(vnode, elm) {
|
|
6324
|
+
function validateStyleAttr(vnode, elm, renderer) {
|
|
6331
6325
|
var _vnode$data2 = vnode.data,
|
|
6332
6326
|
style = _vnode$data2.style,
|
|
6333
6327
|
styleDecls = _vnode$data2.styleDecls;
|
|
6334
|
-
var
|
|
6328
|
+
var getAttribute = renderer.getAttribute;
|
|
6329
|
+
var elmStyle = getAttribute(elm, 'style') || '';
|
|
6335
6330
|
var nodesAreCompatible = true;
|
|
6336
6331
|
|
|
6337
6332
|
if (!isUndefined$1(style) && style !== elmStyle) {
|
|
@@ -6367,6 +6362,57 @@
|
|
|
6367
6362
|
|
|
6368
6363
|
return nodesAreCompatible;
|
|
6369
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
|
+
}
|
|
6370
6416
|
/*
|
|
6371
6417
|
* Copyright (c) 2018, salesforce.com, inc.
|
|
6372
6418
|
* All rights reserved.
|
|
@@ -6414,7 +6460,7 @@
|
|
|
6414
6460
|
|
|
6415
6461
|
return ctor;
|
|
6416
6462
|
}
|
|
6417
|
-
/* version: 2.
|
|
6463
|
+
/* version: 2.16.0 */
|
|
6418
6464
|
|
|
6419
6465
|
/*
|
|
6420
6466
|
* Copyright (c) 2018, salesforce.com, inc.
|
|
@@ -6584,7 +6630,7 @@
|
|
|
6584
6630
|
try {
|
|
6585
6631
|
// dereference HTMLElement global because babel wraps globals in compat mode with a
|
|
6586
6632
|
// _wrapNativeSuper()
|
|
6587
|
-
// This is a problem because LWCUpgradableElement extends renderer.
|
|
6633
|
+
// This is a problem because LWCUpgradableElement extends renderer.HTMLElementExported which does not
|
|
6588
6634
|
// get wrapped by babel.
|
|
6589
6635
|
var HTMLElementAlias = HTMLElement; // In case we use compat mode with a modern browser, the compat mode transformation
|
|
6590
6636
|
// invokes the DOM api with an .apply() or .call() to initialize any DOM api sub-classing,
|
|
@@ -6660,9 +6706,22 @@
|
|
|
6660
6706
|
}
|
|
6661
6707
|
|
|
6662
6708
|
var ssr = false;
|
|
6709
|
+
|
|
6710
|
+
function isHydrating() {
|
|
6711
|
+
return hydrating;
|
|
6712
|
+
}
|
|
6713
|
+
|
|
6663
6714
|
var isNativeShadowDefined = _globalThis[KEY__IS_NATIVE_SHADOW_ROOT_DEFINED];
|
|
6664
6715
|
var isSyntheticShadowDefined = hasOwnProperty$1.call(Element.prototype, KEY__SHADOW_TOKEN);
|
|
6665
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
|
+
|
|
6666
6725
|
function createElement$1(tagName, namespace) {
|
|
6667
6726
|
return isUndefined$1(namespace) ? document.createElement(tagName) : document.createElementNS(namespace, tagName);
|
|
6668
6727
|
}
|
|
@@ -6794,44 +6853,54 @@
|
|
|
6794
6853
|
return node.isConnected;
|
|
6795
6854
|
}
|
|
6796
6855
|
|
|
6856
|
+
function assertInstanceOfHTMLElement(elm, msg) {
|
|
6857
|
+
assert.invariant(elm instanceof HTMLElement, msg);
|
|
6858
|
+
}
|
|
6859
|
+
|
|
6797
6860
|
var HTMLElementExported = HTMLElementConstructor;
|
|
6798
|
-
|
|
6799
|
-
|
|
6800
|
-
|
|
6801
|
-
|
|
6802
|
-
|
|
6803
|
-
|
|
6804
|
-
|
|
6805
|
-
|
|
6806
|
-
|
|
6807
|
-
|
|
6808
|
-
|
|
6809
|
-
|
|
6810
|
-
|
|
6811
|
-
|
|
6812
|
-
|
|
6813
|
-
|
|
6814
|
-
|
|
6815
|
-
|
|
6816
|
-
|
|
6817
|
-
|
|
6818
|
-
|
|
6819
|
-
|
|
6820
|
-
|
|
6821
|
-
|
|
6822
|
-
|
|
6823
|
-
|
|
6824
|
-
|
|
6825
|
-
|
|
6826
|
-
|
|
6827
|
-
|
|
6828
|
-
|
|
6829
|
-
|
|
6830
|
-
|
|
6831
|
-
|
|
6832
|
-
|
|
6833
|
-
|
|
6834
|
-
|
|
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
|
+
};
|
|
6835
6904
|
/*
|
|
6836
6905
|
* Copyright (c) 2018, salesforce.com, inc.
|
|
6837
6906
|
* All rights reserved.
|
|
@@ -6839,7 +6908,6 @@
|
|
|
6839
6908
|
* For full license text, see the LICENSE file in the repo root or https://opensource.org/licenses/MIT
|
|
6840
6909
|
*/
|
|
6841
6910
|
|
|
6842
|
-
|
|
6843
6911
|
function resetShadowRootAndLightDom(element, Ctor) {
|
|
6844
6912
|
if (element.shadowRoot) {
|
|
6845
6913
|
var shadowRoot = element.shadowRoot;
|
|
@@ -6857,7 +6925,7 @@
|
|
|
6857
6925
|
}
|
|
6858
6926
|
|
|
6859
6927
|
function createVMWithProps(element, Ctor, props) {
|
|
6860
|
-
var vm = createVM(element, Ctor, {
|
|
6928
|
+
var vm = createVM(element, Ctor, renderer, {
|
|
6861
6929
|
mode: 'open',
|
|
6862
6930
|
owner: null,
|
|
6863
6931
|
tagName: element.tagName.toLowerCase(),
|
|
@@ -6973,7 +7041,7 @@
|
|
|
6973
7041
|
hydrateComponent(_assertThisInitialized(_this6), Ctor, {});
|
|
6974
7042
|
hydratedCustomElements.add(_assertThisInitialized(_this6));
|
|
6975
7043
|
} else {
|
|
6976
|
-
createVM(_assertThisInitialized(_this6), Ctor, {
|
|
7044
|
+
createVM(_assertThisInitialized(_this6), Ctor, renderer, {
|
|
6977
7045
|
mode: 'open',
|
|
6978
7046
|
owner: null,
|
|
6979
7047
|
tagName: _this6.tagName
|
|
@@ -7082,7 +7150,7 @@
|
|
|
7082
7150
|
throw new TypeError("\"createElement\" function expects an \"is\" option with a valid component constructor.");
|
|
7083
7151
|
}
|
|
7084
7152
|
|
|
7085
|
-
var UpgradableConstructor = getUpgradableConstructor(sel);
|
|
7153
|
+
var UpgradableConstructor = getUpgradableConstructor(sel, renderer);
|
|
7086
7154
|
var wasComponentUpgraded = false; // the custom element from the registry is expecting an upgrade callback
|
|
7087
7155
|
|
|
7088
7156
|
/**
|
|
@@ -7093,7 +7161,7 @@
|
|
|
7093
7161
|
*/
|
|
7094
7162
|
|
|
7095
7163
|
var element = new UpgradableConstructor(function (elm) {
|
|
7096
|
-
createVM(elm, Ctor, {
|
|
7164
|
+
createVM(elm, Ctor, renderer, {
|
|
7097
7165
|
tagName: sel,
|
|
7098
7166
|
mode: options.mode !== 'closed' ? 'open' : 'closed',
|
|
7099
7167
|
owner: null
|
|
@@ -7190,7 +7258,7 @@
|
|
|
7190
7258
|
});
|
|
7191
7259
|
freeze(LightningElement);
|
|
7192
7260
|
seal(LightningElement.prototype);
|
|
7193
|
-
/* version: 2.
|
|
7261
|
+
/* version: 2.16.0 */
|
|
7194
7262
|
|
|
7195
7263
|
exports.LightningElement = LightningElement;
|
|
7196
7264
|
exports.__unstable__ProfilerControl = profilerControl;
|
|
@@ -7204,11 +7272,14 @@
|
|
|
7204
7272
|
exports.hydrateComponent = hydrateComponent;
|
|
7205
7273
|
exports.isComponentConstructor = isComponentConstructor;
|
|
7206
7274
|
exports.isNodeFromTemplate = isNodeShadowed;
|
|
7275
|
+
exports.parseFragment = parseFragment;
|
|
7276
|
+
exports.parseSVGFragment = parseSVGFragment;
|
|
7207
7277
|
exports.readonly = readonly;
|
|
7208
7278
|
exports.register = register;
|
|
7209
7279
|
exports.registerComponent = registerComponent;
|
|
7210
7280
|
exports.registerDecorators = registerDecorators;
|
|
7211
7281
|
exports.registerTemplate = registerTemplate;
|
|
7282
|
+
exports.renderer = renderer;
|
|
7212
7283
|
exports.sanitizeAttribute = sanitizeAttribute;
|
|
7213
7284
|
exports.setFeatureFlag = setFeatureFlag;
|
|
7214
7285
|
exports.setFeatureFlagForTest = setFeatureFlagForTest;
|