marko 5.16.1 → 5.17.3
Sign up to get free protection for your applications and to get access to all the features.
- package/dist/runtime/RenderResult.js +13 -11
- package/dist/runtime/RenderResult.js.map +1 -1
- package/dist/runtime/components/Component.js +2 -2
- package/dist/runtime/components/Component.js.map +1 -1
- package/dist/runtime/components/ComponentsContext.js +2 -2
- package/dist/runtime/components/ComponentsContext.js.map +1 -1
- package/dist/runtime/components/event-delegation.js +8 -8
- package/dist/runtime/components/event-delegation.js.map +1 -1
- package/dist/runtime/components/init-components/index-browser.js +22 -24
- package/dist/runtime/components/init-components/index-browser.js.map +1 -1
- package/dist/runtime/components/registry/index-browser.js +2 -2
- package/dist/runtime/components/registry/index-browser.js.map +1 -1
- package/dist/runtime/components/util/index-browser.js +4 -3
- package/dist/runtime/components/util/index-browser.js.map +1 -1
- package/dist/runtime/html/AsyncStream.js +8 -10
- package/dist/runtime/html/AsyncStream.js.map +1 -1
- package/dist/runtime/vdom/AsyncVDOMBuilder.js +65 -70
- package/dist/runtime/vdom/AsyncVDOMBuilder.js.map +1 -1
- package/dist/runtime/vdom/VComponent.js +3 -3
- package/dist/runtime/vdom/VDocumentFragment.js +7 -7
- package/dist/runtime/vdom/VDocumentFragment.js.map +1 -1
- package/dist/runtime/vdom/VElement.js +42 -39
- package/dist/runtime/vdom/VElement.js.map +1 -1
- package/dist/runtime/vdom/VFragment.js +5 -5
- package/dist/runtime/vdom/VNode.js +31 -31
- package/dist/runtime/vdom/VText.js +8 -8
- package/dist/runtime/vdom/VText.js.map +1 -1
- package/dist/runtime/vdom/hot-reload.js +5 -5
- package/dist/runtime/vdom/hot-reload.js.map +1 -1
- package/dist/runtime/vdom/morphdom/fragment.js +3 -3
- package/dist/runtime/vdom/morphdom/helpers.js +1 -1
- package/dist/runtime/vdom/morphdom/index.js +30 -30
- package/dist/runtime/vdom/morphdom/index.js.map +1 -1
- package/dist/runtime/vdom/morphdom/specialElHandlers.js +6 -6
- package/dist/runtime/vdom/preserve-attrs.js +1 -1
- package/dist/runtime/vdom/vdom.js +10 -12
- package/dist/runtime/vdom/vdom.js.map +1 -1
- package/package.json +4 -4
- package/src/runtime/RenderResult.js +13 -11
- package/src/runtime/components/Component.js +5 -5
- package/src/runtime/components/ComponentsContext.js +2 -2
- package/src/runtime/components/event-delegation.js +6 -6
- package/src/runtime/components/init-components/index-browser.js +23 -25
- package/src/runtime/components/registry/index-browser.js +3 -3
- package/src/runtime/components/util/index-browser.js +8 -7
- package/src/runtime/html/AsyncStream.js +8 -10
- package/src/runtime/vdom/AsyncVDOMBuilder.js +9 -14
- package/src/runtime/vdom/VDocumentFragment.js +2 -2
- package/src/runtime/vdom/VElement.js +5 -2
- package/src/runtime/vdom/VText.js +2 -2
- package/src/runtime/vdom/hot-reload.js +1 -1
- package/src/runtime/vdom/morphdom/index.js +4 -4
- package/src/runtime/vdom/vdom.js +2 -4
@@ -8,8 +8,8 @@ var addComponentRootToKeyedElements =
|
|
8
8
|
componentsUtil.ap_;
|
9
9
|
var normalizeComponentKey = componentsUtil.aD_;
|
10
10
|
var VElement = require("../vdom").b__;
|
11
|
-
var virtualizeElement = VElement.
|
12
|
-
var morphAttrs = VElement.
|
11
|
+
var virtualizeElement = VElement.bM_;
|
12
|
+
var morphAttrs = VElement.bN_;
|
13
13
|
var eventDelegation = require("../../components/event-delegation");
|
14
14
|
var fragment = require("./fragment");
|
15
15
|
var helpers = require("./helpers");
|
@@ -21,11 +21,11 @@ var detachedByDOMNode = domData.af_;
|
|
21
21
|
|
22
22
|
var insertBefore = helpers.aF_;
|
23
23
|
var insertAfter = helpers.aG_;
|
24
|
-
var nextSibling = helpers.
|
24
|
+
var nextSibling = helpers.bR_;
|
25
25
|
var firstChild = helpers._r_;
|
26
26
|
var removeChild = helpers.aH_;
|
27
27
|
var createFragmentNode = fragment.ao_;
|
28
|
-
var beginFragmentNode = fragment.
|
28
|
+
var beginFragmentNode = fragment.bY_;
|
29
29
|
|
30
30
|
var ELEMENT_NODE = 1;
|
31
31
|
var TEXT_NODE = 3;
|
@@ -43,7 +43,7 @@ function isAutoKey(key) {
|
|
43
43
|
}
|
44
44
|
|
45
45
|
function compareNodeNames(fromEl, toEl) {
|
46
|
-
return fromEl.
|
46
|
+
return fromEl.bG_ === toEl.bG_;
|
47
47
|
}
|
48
48
|
|
49
49
|
function caseInsensitiveCompare(a, b) {
|
@@ -56,7 +56,7 @@ function onNodeAdded(node, componentsContext) {
|
|
56
56
|
}
|
57
57
|
}
|
58
58
|
|
59
|
-
function morphdom(fromNode, toNode,
|
59
|
+
function morphdom(fromNode, toNode, host, componentsContext) {
|
60
60
|
var globalComponentsContext;
|
61
61
|
var isHydrate = false;
|
62
62
|
var keySequences = Object.create(null);
|
@@ -74,12 +74,12 @@ function morphdom(fromNode, toNode, doc, componentsContext) {
|
|
74
74
|
ownerComponent,
|
75
75
|
parentComponent)
|
76
76
|
{
|
77
|
-
var realNode = vNode.
|
77
|
+
var realNode = vNode.bx_(host, parentEl.namespaceURI);
|
78
78
|
insertBefore(realNode, referenceEl, parentEl);
|
79
79
|
|
80
80
|
if (
|
81
|
-
vNode.
|
82
|
-
vNode.
|
81
|
+
vNode.bA_ === ELEMENT_NODE ||
|
82
|
+
vNode.bA_ === FRAGMENT_NODE)
|
83
83
|
{
|
84
84
|
if (key) {
|
85
85
|
keysByDOMNode.set(realNode, key);
|
@@ -88,7 +88,7 @@ function morphdom(fromNode, toNode, doc, componentsContext) {
|
|
88
88
|
realNode;
|
89
89
|
}
|
90
90
|
|
91
|
-
if (vNode.
|
91
|
+
if (vNode.bG_ !== "textarea") {
|
92
92
|
morphChildren(realNode, vNode, parentComponent);
|
93
93
|
}
|
94
94
|
|
@@ -162,9 +162,9 @@ function morphdom(fromNode, toNode, doc, componentsContext) {
|
|
162
162
|
var fromComponent;
|
163
163
|
|
164
164
|
outer: while (curToNodeChild) {
|
165
|
-
toNextSibling = curToNodeChild.
|
166
|
-
curToNodeType = curToNodeChild.
|
167
|
-
curToNodeKey = curToNodeChild.
|
165
|
+
toNextSibling = curToNodeChild.bR_;
|
166
|
+
curToNodeType = curToNodeChild.bA_;
|
167
|
+
curToNodeKey = curToNodeChild.bz_;
|
168
168
|
|
169
169
|
// Skip <!doctype>
|
170
170
|
if (curFromNodeChild && curFromNodeChild.nodeType === DOCTYPE_NODE) {
|
@@ -315,11 +315,11 @@ function morphdom(fromNode, toNode, doc, componentsContext) {
|
|
315
315
|
curToNodeChild.n_ ||
|
316
316
|
caseInsensitiveCompare(
|
317
317
|
curFromNodeChild.nodeName,
|
318
|
-
curToNodeChild.
|
318
|
+
curToNodeChild.bG_ || "")))
|
319
319
|
|
320
320
|
{
|
321
321
|
curVFromNodeChild = virtualizeElement(curFromNodeChild);
|
322
|
-
curVFromNodeChild.
|
322
|
+
curVFromNodeChild.bG_ = curToNodeChild.bG_;
|
323
323
|
keysByDOMNode.set(curFromNodeChild, curToNodeKey);
|
324
324
|
referenceComponent.k_[curToNodeKey] =
|
325
325
|
curFromNodeChild;
|
@@ -339,7 +339,7 @@ function morphdom(fromNode, toNode, doc, componentsContext) {
|
|
339
339
|
curFromNodeChild = fromNextSibling;
|
340
340
|
continue;
|
341
341
|
} else if (
|
342
|
-
curToNodeChild.
|
342
|
+
curToNodeChild.bA_ === FRAGMENT_NODE &&
|
343
343
|
curFromNodeChild.nodeType === COMMENT_NODE)
|
344
344
|
{
|
345
345
|
var content = curFromNodeChild.nodeValue;
|
@@ -419,7 +419,7 @@ function morphdom(fromNode, toNode, doc, componentsContext) {
|
|
419
419
|
|
420
420
|
if (
|
421
421
|
toNextSibling &&
|
422
|
-
toNextSibling.
|
422
|
+
toNextSibling.bz_ === curFromNodeKey)
|
423
423
|
{
|
424
424
|
// Single element swap
|
425
425
|
|
@@ -524,18 +524,18 @@ function morphdom(fromNode, toNode, doc, componentsContext) {
|
|
524
524
|
|
525
525
|
if (
|
526
526
|
caseInsensitiveCompare(
|
527
|
-
curVFromNodeChild.
|
528
|
-
curToNodeChild.
|
527
|
+
curVFromNodeChild.bG_,
|
528
|
+
curToNodeChild.bG_))
|
529
529
|
|
530
530
|
{
|
531
|
-
curVFromNodeChild.
|
531
|
+
curVFromNodeChild.bG_ = curToNodeChild.bG_;
|
532
532
|
}
|
533
533
|
} else {
|
534
534
|
// Skip over nodes that don't look like ours...
|
535
535
|
curFromNodeChild = fromNextSibling;
|
536
536
|
continue;
|
537
537
|
}
|
538
|
-
} else if (curFromNodeKey = curVFromNodeChild.
|
538
|
+
} else if (curFromNodeKey = curVFromNodeChild.bz_) {
|
539
539
|
// We have a keyed element here but our target VDOM node
|
540
540
|
// is not keyed so this not doesn't belong
|
541
541
|
isCompatible = false;
|
@@ -569,14 +569,14 @@ function morphdom(fromNode, toNode, doc, componentsContext) {
|
|
569
569
|
isHydrate === true &&
|
570
570
|
toNextSibling &&
|
571
571
|
curFromNodeType === TEXT_NODE &&
|
572
|
-
toNextSibling.
|
572
|
+
toNextSibling.bA_ === TEXT_NODE)
|
573
573
|
{
|
574
574
|
fromNextSibling = curFromNodeChild.splitText(
|
575
|
-
curToNodeChild.
|
575
|
+
curToNodeChild.bT_.length);
|
576
576
|
|
577
577
|
}
|
578
|
-
if (curFromNodeChild.nodeValue !== curToNodeChild.
|
579
|
-
curFromNodeChild.nodeValue = curToNodeChild.
|
578
|
+
if (curFromNodeChild.nodeValue !== curToNodeChild.bT_) {
|
579
|
+
curFromNodeChild.nodeValue = curToNodeChild.bT_;
|
580
580
|
}
|
581
581
|
}
|
582
582
|
}
|
@@ -610,10 +610,10 @@ function morphdom(fromNode, toNode, doc, componentsContext) {
|
|
610
610
|
}
|
611
611
|
|
612
612
|
// We have processed all of the "to nodes".
|
613
|
-
if (fromNode.
|
613
|
+
if (fromNode.bX_) {
|
614
614
|
// If we are in an unfinished fragment, we have reached the end of the nodes
|
615
615
|
// we were matching up and need to end the fragment
|
616
|
-
fromNode.
|
616
|
+
fromNode.bX_(curFromNodeChild);
|
617
617
|
} else {
|
618
618
|
// If curFromNodeChild is non-null then we still have some from nodes
|
619
619
|
// left over that need to be removed
|
@@ -653,10 +653,10 @@ function morphdom(fromNode, toNode, doc, componentsContext) {
|
|
653
653
|
}
|
654
654
|
|
655
655
|
function morphEl(fromEl, vFromEl, toEl, parentComponent) {
|
656
|
-
var nodeName = toEl.
|
656
|
+
var nodeName = toEl.bG_;
|
657
657
|
|
658
|
-
var constId = toEl.
|
659
|
-
if (constId !== undefined && vFromEl.
|
658
|
+
var constId = toEl.bI_;
|
659
|
+
if (constId !== undefined && vFromEl.bI_ === constId) {
|
660
660
|
return;
|
661
661
|
}
|
662
662
|
|
@@ -1 +1 @@
|
|
1
|
-
{"version":3,"sources":["../../../../src/runtime/vdom/morphdom/index.js"],"names":["specialElHandlers","require","KeySequence","componentsUtil","existingComponentLookup","destroyNodeRecursive","addComponentRootToKeyedElements","normalizeComponentKey","VElement","virtualizeElement","morphAttrs","eventDelegation","fragment","helpers","domData","keysByDOMNode","componentByDOMNode","vElementByDOMNode","detachedByDOMNode","insertBefore","insertAfter","nextSibling","firstChild","removeChild","createFragmentNode","beginFragmentNode","ELEMENT_NODE","TEXT_NODE","COMMENT_NODE","COMPONENT_NODE","FRAGMENT_NODE","DOCTYPE_NODE","isAutoKey","key","compareNodeNames","fromEl","toEl","caseInsensitiveCompare","a","b","toLowerCase","onNodeAdded","node","componentsContext","nodeType","morphdom","fromNode","toNode","doc","globalComponentsContext","isHydrate","keySequences","Object","create","insertVirtualNodeBefore","vNode","referenceEl","parentEl","ownerComponent","parentComponent","realNode","namespaceURI","set","morphChildren","insertVirtualComponentBefore","vComponent","referenceNode","referenceNodeParentEl","component","rootNode","id","morphComponent","detachedNodes","detachNode","parentNode","push","destroyComponent","destroy","curFromNodeChild","curToNodeChild","curToNodeKey","curFromNodeKey","curToNodeType","fromNextSibling","toNextSibling","matchingFromEl","matchingFromComponent","curVFromNodeChild","fromComponent","outer","referenceComponent","undefined","get","curToNodeKeyOriginal","morphEl","nodeName","content","nodeValue","endNode","depth","indexOf","curFromNodeType","isCompatible","splitText","length","fragmentBoundary","vFromEl","constId","specialElHandler","forEach","detachedFromComponent","componentToDestroy","module","exports"],"mappings":"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","sourcesContent":["\"use strict\";\nvar specialElHandlers = require(\"./specialElHandlers\");\nvar KeySequence = require(\"../../components/KeySequence\");\nvar componentsUtil = require(\"../../components/util\");\nvar existingComponentLookup = componentsUtil.___componentLookup;\nvar destroyNodeRecursive = componentsUtil.___destroyNodeRecursive;\nvar addComponentRootToKeyedElements =\n componentsUtil.___addComponentRootToKeyedElements;\nvar normalizeComponentKey = componentsUtil.___normalizeComponentKey;\nvar VElement = require(\"../vdom\").___VElement;\nvar virtualizeElement = VElement.___virtualize;\nvar morphAttrs = VElement.___morphAttrs;\nvar eventDelegation = require(\"../../components/event-delegation\");\nvar fragment = require(\"./fragment\");\nvar helpers = require(\"./helpers\");\nvar domData = require(\"../../components/dom-data\");\nvar keysByDOMNode = domData.___keyByDOMNode;\nvar componentByDOMNode = domData.___componentByDOMNode;\nvar vElementByDOMNode = domData.___vElementByDOMNode;\nvar detachedByDOMNode = domData.___detachedByDOMNode;\n\nvar insertBefore = helpers.___insertBefore;\nvar insertAfter = helpers.___insertAfter;\nvar nextSibling = helpers.___nextSibling;\nvar firstChild = helpers.___firstChild;\nvar removeChild = helpers.___removeChild;\nvar createFragmentNode = fragment.___createFragmentNode;\nvar beginFragmentNode = fragment.___beginFragmentNode;\n\nvar ELEMENT_NODE = 1;\nvar TEXT_NODE = 3;\nvar COMMENT_NODE = 8;\nvar COMPONENT_NODE = 2;\nvar FRAGMENT_NODE = 12;\nvar DOCTYPE_NODE = 10;\n\n// var FLAG_SIMPLE_ATTRS = 1;\n// var FLAG_CUSTOM_ELEMENT = 2;\n// var FLAG_SPREAD_ATTRS = 4;\n\nfunction isAutoKey(key) {\n return key[0] !== \"@\";\n}\n\nfunction compareNodeNames(fromEl, toEl) {\n return fromEl.___nodeName === toEl.___nodeName;\n}\n\nfunction caseInsensitiveCompare(a, b) {\n return a.toLowerCase() === b.toLowerCase();\n}\n\nfunction onNodeAdded(node, componentsContext) {\n if (node.nodeType === ELEMENT_NODE) {\n eventDelegation.___handleNodeAttach(node, componentsContext);\n }\n}\n\nfunction morphdom(fromNode, toNode, doc, componentsContext) {\n var globalComponentsContext;\n var isHydrate = false;\n var keySequences = Object.create(null);\n\n if (componentsContext) {\n globalComponentsContext = componentsContext.___globalContext;\n isHydrate = globalComponentsContext.___isHydrate;\n }\n\n function insertVirtualNodeBefore(\n vNode,\n key,\n referenceEl,\n parentEl,\n ownerComponent,\n parentComponent\n ) {\n var realNode = vNode.___actualize(doc, parentEl.namespaceURI);\n insertBefore(realNode, referenceEl, parentEl);\n\n if (\n vNode.___nodeType === ELEMENT_NODE ||\n vNode.___nodeType === FRAGMENT_NODE\n ) {\n if (key) {\n keysByDOMNode.set(realNode, key);\n (isAutoKey(key) ? parentComponent : ownerComponent).___keyedElements[\n key\n ] = realNode;\n }\n\n if (vNode.___nodeName !== \"textarea\") {\n morphChildren(realNode, vNode, parentComponent);\n }\n\n onNodeAdded(realNode, componentsContext);\n }\n }\n\n function insertVirtualComponentBefore(\n vComponent,\n referenceNode,\n referenceNodeParentEl,\n component,\n key,\n ownerComponent,\n parentComponent\n ) {\n var rootNode = (component.___rootNode = insertBefore(\n createFragmentNode(),\n referenceNode,\n referenceNodeParentEl\n ));\n componentByDOMNode.set(rootNode, component);\n\n if (key && ownerComponent) {\n key = normalizeComponentKey(key, parentComponent.id);\n addComponentRootToKeyedElements(\n ownerComponent.___keyedElements,\n key,\n rootNode,\n component.id\n );\n keysByDOMNode.set(rootNode, key);\n }\n\n morphComponent(component, vComponent);\n }\n\n function morphComponent(component, vComponent) {\n morphChildren(component.___rootNode, vComponent, component);\n }\n\n var detachedNodes = [];\n\n function detachNode(node, parentNode, ownerComponent) {\n if (node.nodeType === ELEMENT_NODE || node.nodeType === FRAGMENT_NODE) {\n detachedNodes.push(node);\n detachedByDOMNode.set(node, ownerComponent || true);\n } else {\n destroyNodeRecursive(node);\n removeChild(node);\n }\n }\n\n function destroyComponent(component) {\n component.destroy();\n }\n\n function morphChildren(fromNode, toNode, parentComponent) {\n var curFromNodeChild = firstChild(fromNode);\n var curToNodeChild = toNode.___firstChild;\n\n var curToNodeKey;\n var curFromNodeKey;\n var curToNodeType;\n\n var fromNextSibling;\n var toNextSibling;\n var matchingFromEl;\n var matchingFromComponent;\n var curVFromNodeChild;\n var fromComponent;\n\n outer: while (curToNodeChild) {\n toNextSibling = curToNodeChild.___nextSibling;\n curToNodeType = curToNodeChild.___nodeType;\n curToNodeKey = curToNodeChild.___key;\n\n // Skip <!doctype>\n if (curFromNodeChild && curFromNodeChild.nodeType === DOCTYPE_NODE) {\n curFromNodeChild = nextSibling(curFromNodeChild);\n }\n\n var ownerComponent = curToNodeChild.___ownerComponent || parentComponent;\n var referenceComponent;\n\n if (curToNodeType === COMPONENT_NODE) {\n var component = curToNodeChild.___component;\n if (\n (matchingFromComponent = existingComponentLookup[component.id]) ===\n undefined\n ) {\n if (isHydrate === true) {\n var rootNode = beginFragmentNode(curFromNodeChild, fromNode);\n component.___rootNode = rootNode;\n componentByDOMNode.set(rootNode, component);\n\n if (ownerComponent && curToNodeKey) {\n curToNodeKey = normalizeComponentKey(\n curToNodeKey,\n parentComponent.id\n );\n addComponentRootToKeyedElements(\n ownerComponent.___keyedElements,\n curToNodeKey,\n rootNode,\n component.id\n );\n\n keysByDOMNode.set(rootNode, curToNodeKey);\n }\n\n morphComponent(component, curToNodeChild);\n\n curFromNodeChild = nextSibling(rootNode);\n } else {\n insertVirtualComponentBefore(\n curToNodeChild,\n curFromNodeChild,\n fromNode,\n component,\n curToNodeKey,\n ownerComponent,\n parentComponent\n );\n }\n } else {\n if (matchingFromComponent.___rootNode !== curFromNodeChild) {\n if (\n curFromNodeChild &&\n (fromComponent = componentByDOMNode.get(curFromNodeChild)) &&\n globalComponentsContext.___renderedComponentsById[\n fromComponent.id\n ] === undefined\n ) {\n // The component associated with the current real DOM node was not rendered\n // so we should just remove it out of the real DOM by destroying it\n curFromNodeChild = nextSibling(fromComponent.___rootNode);\n destroyComponent(fromComponent);\n continue;\n }\n\n // We need to move the existing component into\n // the correct location\n insertBefore(\n matchingFromComponent.___rootNode,\n curFromNodeChild,\n fromNode\n );\n } else {\n curFromNodeChild =\n curFromNodeChild && nextSibling(curFromNodeChild);\n }\n\n if (!curToNodeChild.___preserve) {\n morphComponent(component, curToNodeChild);\n }\n }\n\n curToNodeChild = toNextSibling;\n continue;\n } else if (curToNodeKey) {\n curVFromNodeChild = undefined;\n curFromNodeKey = undefined;\n var curToNodeKeyOriginal = curToNodeKey;\n\n if (isAutoKey(curToNodeKey)) {\n if (ownerComponent !== parentComponent) {\n curToNodeKey += \":\" + ownerComponent.id;\n }\n referenceComponent = parentComponent;\n } else {\n referenceComponent = ownerComponent;\n }\n\n // We have a keyed element. This is the fast path for matching\n // up elements\n curToNodeKey = (\n keySequences[referenceComponent.id] ||\n (keySequences[referenceComponent.id] = new KeySequence())\n ).___nextKey(curToNodeKey);\n\n if (curFromNodeChild) {\n curFromNodeKey = keysByDOMNode.get(curFromNodeChild);\n curVFromNodeChild = vElementByDOMNode.get(curFromNodeChild);\n fromNextSibling = nextSibling(curFromNodeChild);\n }\n\n if (curFromNodeKey === curToNodeKey) {\n // Elements line up. Now we just have to make sure they are compatible\n if (!curToNodeChild.___preserve) {\n // We just skip over the fromNode if it is preserved\n\n if (compareNodeNames(curToNodeChild, curVFromNodeChild)) {\n morphEl(\n curFromNodeChild,\n curVFromNodeChild,\n curToNodeChild,\n parentComponent\n );\n } else {\n // Remove the old node\n detachNode(curFromNodeChild, fromNode, ownerComponent);\n\n // Incompatible nodes. Just move the target VNode into the DOM at this position\n insertVirtualNodeBefore(\n curToNodeChild,\n curToNodeKey,\n curFromNodeChild,\n fromNode,\n ownerComponent,\n parentComponent\n );\n }\n }\n } else {\n matchingFromEl = referenceComponent.___keyedElements[curToNodeKey];\n if (\n matchingFromEl === undefined ||\n matchingFromEl === curFromNodeChild\n ) {\n if (isHydrate === true && curFromNodeChild) {\n if (\n curFromNodeChild.nodeType === ELEMENT_NODE &&\n (curToNodeChild.___preserve ||\n caseInsensitiveCompare(\n curFromNodeChild.nodeName,\n curToNodeChild.___nodeName || \"\"\n ))\n ) {\n curVFromNodeChild = virtualizeElement(curFromNodeChild);\n curVFromNodeChild.___nodeName = curToNodeChild.___nodeName;\n keysByDOMNode.set(curFromNodeChild, curToNodeKey);\n referenceComponent.___keyedElements[curToNodeKey] =\n curFromNodeChild;\n\n if (curToNodeChild.___preserve) {\n vElementByDOMNode.set(curFromNodeChild, curVFromNodeChild);\n } else {\n morphEl(\n curFromNodeChild,\n curVFromNodeChild,\n curToNodeChild,\n parentComponent\n );\n }\n\n curToNodeChild = toNextSibling;\n curFromNodeChild = fromNextSibling;\n continue;\n } else if (\n curToNodeChild.___nodeType === FRAGMENT_NODE &&\n curFromNodeChild.nodeType === COMMENT_NODE\n ) {\n var content = curFromNodeChild.nodeValue;\n if (content == \"F#\" + curToNodeKeyOriginal) {\n var endNode = curFromNodeChild.nextSibling;\n var depth = 0;\n var nodeValue;\n\n // eslint-disable-next-line no-constant-condition\n while (true) {\n if (endNode.nodeType === COMMENT_NODE) {\n nodeValue = endNode.nodeValue;\n if (nodeValue === \"F/\") {\n if (depth === 0) {\n break;\n } else {\n depth--;\n }\n } else if (nodeValue.indexOf(\"F#\") === 0) {\n depth++;\n }\n }\n endNode = endNode.nextSibling;\n }\n\n var fragment = createFragmentNode(\n curFromNodeChild,\n endNode.nextSibling,\n fromNode\n );\n keysByDOMNode.set(fragment, curToNodeKey);\n vElementByDOMNode.set(fragment, curToNodeChild);\n referenceComponent.___keyedElements[curToNodeKey] = fragment;\n removeChild(curFromNodeChild);\n removeChild(endNode);\n\n if (!curToNodeChild.___preserve) {\n morphChildren(fragment, curToNodeChild, parentComponent);\n }\n\n curToNodeChild = toNextSibling;\n curFromNodeChild = fragment.nextSibling;\n continue;\n }\n }\n }\n\n insertVirtualNodeBefore(\n curToNodeChild,\n curToNodeKey,\n curFromNodeChild,\n fromNode,\n ownerComponent,\n parentComponent\n );\n fromNextSibling = curFromNodeChild;\n } else {\n if (detachedByDOMNode.get(matchingFromEl) !== undefined) {\n detachedByDOMNode.set(matchingFromEl, undefined);\n }\n\n if (!curToNodeChild.___preserve) {\n curVFromNodeChild = vElementByDOMNode.get(matchingFromEl);\n\n if (compareNodeNames(curVFromNodeChild, curToNodeChild)) {\n if (fromNextSibling === matchingFromEl) {\n // Single element removal:\n // A <-> A\n // B <-> C <-- We are here\n // C D\n // D\n //\n // Single element swap:\n // A <-> A\n // B <-> C <-- We are here\n // C B\n\n if (\n toNextSibling &&\n toNextSibling.___key === curFromNodeKey\n ) {\n // Single element swap\n\n // We want to stay on the current real DOM node\n fromNextSibling = curFromNodeChild;\n\n // But move the matching element into place\n insertBefore(matchingFromEl, curFromNodeChild, fromNode);\n } else {\n // Single element removal\n\n // We need to remove the current real DOM node\n // and the matching real DOM node will fall into\n // place. We will continue diffing with next sibling\n // after the real DOM node that just fell into place\n fromNextSibling = nextSibling(fromNextSibling);\n\n if (curFromNodeChild) {\n detachNode(curFromNodeChild, fromNode, ownerComponent);\n }\n }\n } else {\n // A <-> A\n // B <-> D <-- We are here\n // C\n // D\n\n // We need to move the matching node into place\n insertAfter(matchingFromEl, curFromNodeChild, fromNode);\n\n if (curFromNodeChild) {\n detachNode(curFromNodeChild, fromNode, ownerComponent);\n }\n }\n\n morphEl(\n matchingFromEl,\n curVFromNodeChild,\n curToNodeChild,\n parentComponent\n );\n } else {\n insertVirtualNodeBefore(\n curToNodeChild,\n curToNodeKey,\n curFromNodeChild,\n fromNode,\n ownerComponent,\n parentComponent\n );\n detachNode(matchingFromEl, fromNode, ownerComponent);\n }\n } else {\n // preserve the node\n // but still we need to diff the current from node\n insertBefore(matchingFromEl, curFromNodeChild, fromNode);\n fromNextSibling = curFromNodeChild;\n }\n }\n }\n\n curToNodeChild = toNextSibling;\n curFromNodeChild = fromNextSibling;\n continue;\n }\n\n // The know the target node is not a VComponent node and we know\n // it is also not a preserve node. Let's now match up the HTML\n // element, text node, comment, etc.\n while (curFromNodeChild) {\n fromNextSibling = nextSibling(curFromNodeChild);\n\n if ((fromComponent = componentByDOMNode.get(curFromNodeChild))) {\n // The current \"to\" element is not associated with a component,\n // but the current \"from\" element is associated with a component\n\n // Even if we destroy the current component in the original\n // DOM or not, we still need to skip over it since it is\n // not compatible with the current \"to\" node\n curFromNodeChild = fromNextSibling;\n\n if (\n !globalComponentsContext.___renderedComponentsById[fromComponent.id]\n ) {\n destroyComponent(fromComponent);\n }\n\n continue; // Move to the next \"from\" node\n }\n\n var curFromNodeType = curFromNodeChild.nodeType;\n\n var isCompatible = undefined;\n\n if (curFromNodeType === curToNodeType) {\n if (curFromNodeType === ELEMENT_NODE) {\n // Both nodes being compared are Element nodes\n curVFromNodeChild = vElementByDOMNode.get(curFromNodeChild);\n if (curVFromNodeChild === undefined) {\n if (isHydrate === true) {\n curVFromNodeChild = virtualizeElement(curFromNodeChild);\n\n if (\n caseInsensitiveCompare(\n curVFromNodeChild.___nodeName,\n curToNodeChild.___nodeName\n )\n ) {\n curVFromNodeChild.___nodeName = curToNodeChild.___nodeName;\n }\n } else {\n // Skip over nodes that don't look like ours...\n curFromNodeChild = fromNextSibling;\n continue;\n }\n } else if ((curFromNodeKey = curVFromNodeChild.___key)) {\n // We have a keyed element here but our target VDOM node\n // is not keyed so this not doesn't belong\n isCompatible = false;\n }\n\n isCompatible =\n isCompatible !== false &&\n compareNodeNames(curVFromNodeChild, curToNodeChild) === true;\n\n if (isCompatible === true) {\n // We found compatible DOM elements so transform\n // the current \"from\" node to match the current\n // target DOM node.\n morphEl(\n curFromNodeChild,\n curVFromNodeChild,\n curToNodeChild,\n parentComponent\n );\n }\n } else if (\n curFromNodeType === TEXT_NODE ||\n curFromNodeType === COMMENT_NODE\n ) {\n // Both nodes being compared are Text or Comment nodes\n isCompatible = true;\n // Simply update nodeValue on the original node to\n // change the text value\n\n if (\n isHydrate === true &&\n toNextSibling &&\n curFromNodeType === TEXT_NODE &&\n toNextSibling.___nodeType === TEXT_NODE\n ) {\n fromNextSibling = curFromNodeChild.splitText(\n curToNodeChild.___nodeValue.length\n );\n }\n if (curFromNodeChild.nodeValue !== curToNodeChild.___nodeValue) {\n curFromNodeChild.nodeValue = curToNodeChild.___nodeValue;\n }\n }\n }\n\n if (isCompatible === true) {\n // Advance both the \"to\" child and the \"from\" child since we found a match\n curToNodeChild = toNextSibling;\n curFromNodeChild = fromNextSibling;\n continue outer;\n }\n\n detachNode(curFromNodeChild, fromNode, ownerComponent);\n curFromNodeChild = fromNextSibling;\n } // END: while (curFromNodeChild)\n\n // If we got this far then we did not find a candidate match for\n // our \"to node\" and we exhausted all of the children \"from\"\n // nodes. Therefore, we will just append the current \"to\" node\n // to the end\n insertVirtualNodeBefore(\n curToNodeChild,\n curToNodeKey,\n curFromNodeChild,\n fromNode,\n ownerComponent,\n parentComponent\n );\n\n curToNodeChild = toNextSibling;\n curFromNodeChild = fromNextSibling;\n }\n\n // We have processed all of the \"to nodes\".\n if (fromNode.___finishFragment) {\n // If we are in an unfinished fragment, we have reached the end of the nodes\n // we were matching up and need to end the fragment\n fromNode.___finishFragment(curFromNodeChild);\n } else {\n // If curFromNodeChild is non-null then we still have some from nodes\n // left over that need to be removed\n var fragmentBoundary =\n fromNode.nodeType === FRAGMENT_NODE ? fromNode.endNode : null;\n\n while (curFromNodeChild && curFromNodeChild !== fragmentBoundary) {\n fromNextSibling = nextSibling(curFromNodeChild);\n\n if ((fromComponent = componentByDOMNode.get(curFromNodeChild))) {\n curFromNodeChild = fromNextSibling;\n if (\n !globalComponentsContext.___renderedComponentsById[fromComponent.id]\n ) {\n destroyComponent(fromComponent);\n }\n continue;\n }\n\n curVFromNodeChild = vElementByDOMNode.get(curFromNodeChild);\n curFromNodeKey = keysByDOMNode.get(fromNode);\n\n // For transcluded content, we need to check if the element belongs to a different component\n // context than the current component and ensure it gets removed from its key index.\n if (!curFromNodeKey || isAutoKey(curFromNodeKey)) {\n referenceComponent = parentComponent;\n } else {\n referenceComponent =\n curVFromNodeChild && curVFromNodeChild.___ownerComponent;\n }\n\n detachNode(curFromNodeChild, fromNode, referenceComponent);\n\n curFromNodeChild = fromNextSibling;\n }\n }\n }\n\n function morphEl(fromEl, vFromEl, toEl, parentComponent) {\n var nodeName = toEl.___nodeName;\n\n var constId = toEl.___constId;\n if (constId !== undefined && vFromEl.___constId === constId) {\n return;\n }\n\n morphAttrs(fromEl, vFromEl, toEl);\n\n if (toEl.___preserveBody) {\n return;\n }\n\n if (nodeName !== \"textarea\") {\n morphChildren(fromEl, toEl, parentComponent);\n }\n\n var specialElHandler = specialElHandlers[nodeName];\n if (specialElHandler !== undefined) {\n specialElHandler(fromEl, toEl);\n }\n } // END: morphEl(...)\n\n // eslint-disable-next-line no-constant-condition\n if (\"MARKO_DEBUG\") {\n componentsUtil.___stopDOMManipulationWarning();\n }\n\n morphChildren(fromNode, toNode, toNode.___component);\n\n detachedNodes.forEach(function (node) {\n var detachedFromComponent = detachedByDOMNode.get(node);\n\n if (detachedFromComponent !== undefined) {\n detachedByDOMNode.set(node, undefined);\n\n var componentToDestroy = componentByDOMNode.get(node);\n if (componentToDestroy) {\n componentToDestroy.destroy();\n } else if (node.parentNode) {\n destroyNodeRecursive(\n node,\n detachedFromComponent !== true && detachedFromComponent\n );\n\n if (eventDelegation.___handleNodeDetach(node) != false) {\n removeChild(node);\n }\n }\n }\n });\n\n // eslint-disable-next-line no-constant-condition\n if (\"MARKO_DEBUG\") {\n componentsUtil.___startDOMManipulationWarning();\n }\n}\n\nmodule.exports = morphdom;\n"],"file":"index.js"}
|
1
|
+
{"version":3,"sources":["../../../../src/runtime/vdom/morphdom/index.js"],"names":["specialElHandlers","require","KeySequence","componentsUtil","existingComponentLookup","destroyNodeRecursive","addComponentRootToKeyedElements","normalizeComponentKey","VElement","virtualizeElement","morphAttrs","eventDelegation","fragment","helpers","domData","keysByDOMNode","componentByDOMNode","vElementByDOMNode","detachedByDOMNode","insertBefore","insertAfter","nextSibling","firstChild","removeChild","createFragmentNode","beginFragmentNode","ELEMENT_NODE","TEXT_NODE","COMMENT_NODE","COMPONENT_NODE","FRAGMENT_NODE","DOCTYPE_NODE","isAutoKey","key","compareNodeNames","fromEl","toEl","caseInsensitiveCompare","a","b","toLowerCase","onNodeAdded","node","componentsContext","nodeType","morphdom","fromNode","toNode","host","globalComponentsContext","isHydrate","keySequences","Object","create","insertVirtualNodeBefore","vNode","referenceEl","parentEl","ownerComponent","parentComponent","realNode","namespaceURI","set","morphChildren","insertVirtualComponentBefore","vComponent","referenceNode","referenceNodeParentEl","component","rootNode","id","morphComponent","detachedNodes","detachNode","parentNode","push","destroyComponent","destroy","curFromNodeChild","curToNodeChild","curToNodeKey","curFromNodeKey","curToNodeType","fromNextSibling","toNextSibling","matchingFromEl","matchingFromComponent","curVFromNodeChild","fromComponent","outer","referenceComponent","undefined","get","curToNodeKeyOriginal","morphEl","nodeName","content","nodeValue","endNode","depth","indexOf","curFromNodeType","isCompatible","splitText","length","fragmentBoundary","vFromEl","constId","specialElHandler","forEach","detachedFromComponent","componentToDestroy","module","exports"],"mappings":"AAAA;AACA,IAAIA,iBAAiB,GAAGC,OAAO,CAAC,qBAAD,CAA/B;AACA,IAAIC,WAAW,GAAGD,OAAO,CAAC,8BAAD,CAAzB;AACA,IAAIE,cAAc,GAAGF,OAAO,CAAC,uBAAD,CAA5B;AACA,IAAIG,uBAAuB,GAAGD,cAAc,GAA5C;AACA,IAAIE,oBAAoB,GAAGF,cAAc,GAAzC;AACA,IAAIG,+BAA+B;AACjCH,cAAc,IADhB;AAEA,IAAII,qBAAqB,GAAGJ,cAAc,IAA1C;AACA,IAAIK,QAAQ,GAAGP,OAAO,CAAC,SAAD,CAAP,IAAf;AACA,IAAIQ,iBAAiB,GAAGD,QAAQ,IAAhC;AACA,IAAIE,UAAU,GAAGF,QAAQ,IAAzB;AACA,IAAIG,eAAe,GAAGV,OAAO,CAAC,mCAAD,CAA7B;AACA,IAAIW,QAAQ,GAAGX,OAAO,CAAC,YAAD,CAAtB;AACA,IAAIY,OAAO,GAAGZ,OAAO,CAAC,WAAD,CAArB;AACA,IAAIa,OAAO,GAAGb,OAAO,CAAC,2BAAD,CAArB;AACA,IAAIc,aAAa,GAAGD,OAAO,IAA3B;AACA,IAAIE,kBAAkB,GAAGF,OAAO,GAAhC;AACA,IAAIG,iBAAiB,GAAGH,OAAO,IAA/B;AACA,IAAII,iBAAiB,GAAGJ,OAAO,IAA/B;;AAEA,IAAIK,YAAY,GAAGN,OAAO,IAA1B;AACA,IAAIO,WAAW,GAAGP,OAAO,IAAzB;AACA,IAAIQ,WAAW,GAAGR,OAAO,IAAzB;AACA,IAAIS,UAAU,GAAGT,OAAO,IAAxB;AACA,IAAIU,WAAW,GAAGV,OAAO,IAAzB;AACA,IAAIW,kBAAkB,GAAGZ,QAAQ,IAAjC;AACA,IAAIa,iBAAiB,GAAGb,QAAQ,IAAhC;;AAEA,IAAIc,YAAY,GAAG,CAAnB;AACA,IAAIC,SAAS,GAAG,CAAhB;AACA,IAAIC,YAAY,GAAG,CAAnB;AACA,IAAIC,cAAc,GAAG,CAArB;AACA,IAAIC,aAAa,GAAG,EAApB;AACA,IAAIC,YAAY,GAAG,EAAnB;;AAEA;AACA;AACA;;AAEA,SAASC,SAAT,CAAmBC,GAAnB,EAAwB;AACtB,SAAOA,GAAG,CAAC,CAAD,CAAH,KAAW,GAAlB;AACD;;AAED,SAASC,gBAAT,CAA0BC,MAA1B,EAAkCC,IAAlC,EAAwC;AACtC,SAAOD,MAAM,IAAN,KAAuBC,IAAI,IAAlC;AACD;;AAED,SAASC,sBAAT,CAAgCC,CAAhC,EAAmCC,CAAnC,EAAsC;AACpC,SAAOD,CAAC,CAACE,WAAF,OAAoBD,CAAC,CAACC,WAAF,EAA3B;AACD;;AAED,SAASC,WAAT,CAAqBC,IAArB,EAA2BC,iBAA3B,EAA8C;AAC5C,MAAID,IAAI,CAACE,QAAL,KAAkBlB,YAAtB,EAAoC;AAClCf,IAAAA,eAAe,IAAf,CAAoC+B,IAApC,EAA0CC,iBAA1C;AACD;AACF;;AAED,SAASE,QAAT,CAAkBC,QAAlB,EAA4BC,MAA5B,EAAoCC,IAApC,EAA0CL,iBAA1C,EAA6D;AAC3D,MAAIM,uBAAJ;AACA,MAAIC,SAAS,GAAG,KAAhB;AACA,MAAIC,YAAY,GAAGC,MAAM,CAACC,MAAP,CAAc,IAAd,CAAnB;;AAEA,MAAIV,iBAAJ,EAAuB;AACrBM,IAAAA,uBAAuB,GAAGN,iBAAiB,GAA3C;AACAO,IAAAA,SAAS,GAAGD,uBAAuB,GAAnC;AACD;;AAED,WAASK,uBAAT;AACEC,EAAAA,KADF;AAEEtB,EAAAA,GAFF;AAGEuB,EAAAA,WAHF;AAIEC,EAAAA,QAJF;AAKEC,EAAAA,cALF;AAMEC,EAAAA,eANF;AAOE;AACA,QAAIC,QAAQ,GAAGL,KAAK,IAAL,CAAmBP,IAAnB,EAAyBS,QAAQ,CAACI,YAAlC,CAAf;AACA1C,IAAAA,YAAY,CAACyC,QAAD,EAAWJ,WAAX,EAAwBC,QAAxB,CAAZ;;AAEA;AACEF,IAAAA,KAAK,IAAL,KAAsB7B,YAAtB;AACA6B,IAAAA,KAAK,IAAL,KAAsBzB,aAFxB;AAGE;AACA,UAAIG,GAAJ,EAAS;AACPlB,QAAAA,aAAa,CAAC+C,GAAd,CAAkBF,QAAlB,EAA4B3B,GAA5B;AACA,SAACD,SAAS,CAACC,GAAD,CAAT,GAAiB0B,eAAjB,GAAmCD,cAApC;AACEzB,QAAAA,GADF;AAEI2B,QAAAA,QAFJ;AAGD;;AAED,UAAIL,KAAK,IAAL,KAAsB,UAA1B,EAAsC;AACpCQ,QAAAA,aAAa,CAACH,QAAD,EAAWL,KAAX,EAAkBI,eAAlB,CAAb;AACD;;AAEDlB,MAAAA,WAAW,CAACmB,QAAD,EAAWjB,iBAAX,CAAX;AACD;AACF;;AAED,WAASqB,4BAAT;AACEC,EAAAA,UADF;AAEEC,EAAAA,aAFF;AAGEC,EAAAA,qBAHF;AAIEC,EAAAA,SAJF;AAKEnC,EAAAA,GALF;AAMEyB,EAAAA,cANF;AAOEC,EAAAA,eAPF;AAQE;AACA,QAAIU,QAAQ,GAAID,SAAS,GAAT,GAAwBjD,YAAY;AAClDK,IAAAA,kBAAkB,EADgC;AAElD0C,IAAAA,aAFkD;AAGlDC,IAAAA,qBAHkD,CAApD;;AAKAnD,IAAAA,kBAAkB,CAAC8C,GAAnB,CAAuBO,QAAvB,EAAiCD,SAAjC;;AAEA,QAAInC,GAAG,IAAIyB,cAAX,EAA2B;AACzBzB,MAAAA,GAAG,GAAG1B,qBAAqB,CAAC0B,GAAD,EAAM0B,eAAe,CAACW,EAAtB,CAA3B;AACAhE,MAAAA,+BAA+B;AAC7BoD,MAAAA,cAAc,GADe;AAE7BzB,MAAAA,GAF6B;AAG7BoC,MAAAA,QAH6B;AAI7BD,MAAAA,SAAS,CAACE,EAJmB,CAA/B;;AAMAvD,MAAAA,aAAa,CAAC+C,GAAd,CAAkBO,QAAlB,EAA4BpC,GAA5B;AACD;;AAEDsC,IAAAA,cAAc,CAACH,SAAD,EAAYH,UAAZ,CAAd;AACD;;AAED,WAASM,cAAT,CAAwBH,SAAxB,EAAmCH,UAAnC,EAA+C;AAC7CF,IAAAA,aAAa,CAACK,SAAS,GAAV,EAAwBH,UAAxB,EAAoCG,SAApC,CAAb;AACD;;AAED,MAAII,aAAa,GAAG,EAApB;;AAEA,WAASC,UAAT,CAAoB/B,IAApB,EAA0BgC,UAA1B,EAAsChB,cAAtC,EAAsD;AACpD,QAAIhB,IAAI,CAACE,QAAL,KAAkBlB,YAAlB,IAAkCgB,IAAI,CAACE,QAAL,KAAkBd,aAAxD,EAAuE;AACrE0C,MAAAA,aAAa,CAACG,IAAd,CAAmBjC,IAAnB;AACAxB,MAAAA,iBAAiB,CAAC4C,GAAlB,CAAsBpB,IAAtB,EAA4BgB,cAAc,IAAI,IAA9C;AACD,KAHD,MAGO;AACLrD,MAAAA,oBAAoB,CAACqC,IAAD,CAApB;AACAnB,MAAAA,WAAW,CAACmB,IAAD,CAAX;AACD;AACF;;AAED,WAASkC,gBAAT,CAA0BR,SAA1B,EAAqC;AACnCA,IAAAA,SAAS,CAACS,OAAV;AACD;;AAED,WAASd,aAAT,CAAuBjB,QAAvB,EAAiCC,MAAjC,EAAyCY,eAAzC,EAA0D;AACxD,QAAImB,gBAAgB,GAAGxD,UAAU,CAACwB,QAAD,CAAjC;AACA,QAAIiC,cAAc,GAAGhC,MAAM,IAA3B;;AAEA,QAAIiC,YAAJ;AACA,QAAIC,cAAJ;AACA,QAAIC,aAAJ;;AAEA,QAAIC,eAAJ;AACA,QAAIC,aAAJ;AACA,QAAIC,cAAJ;AACA,QAAIC,qBAAJ;AACA,QAAIC,iBAAJ;AACA,QAAIC,aAAJ;;AAEAC,IAAAA,KAAK,EAAE,OAAOV,cAAP,EAAuB;AAC5BK,MAAAA,aAAa,GAAGL,cAAc,IAA9B;AACAG,MAAAA,aAAa,GAAGH,cAAc,IAA9B;AACAC,MAAAA,YAAY,GAAGD,cAAc,IAA7B;;AAEA;AACA,UAAID,gBAAgB,IAAIA,gBAAgB,CAAClC,QAAjB,KAA8Bb,YAAtD,EAAoE;AAClE+C,QAAAA,gBAAgB,GAAGzD,WAAW,CAACyD,gBAAD,CAA9B;AACD;;AAED,UAAIpB,cAAc,GAAGqB,cAAc,IAAd,IAAoCpB,eAAzD;AACA,UAAI+B,kBAAJ;;AAEA,UAAIR,aAAa,KAAKrD,cAAtB,EAAsC;AACpC,YAAIuC,SAAS,GAAGW,cAAc,GAA9B;AACA;AACE,SAACO,qBAAqB,GAAGlF,uBAAuB,CAACgE,SAAS,CAACE,EAAX,CAAhD;AACAqB,QAAAA,SAFF;AAGE;AACA,cAAIzC,SAAS,KAAK,IAAlB,EAAwB;AACtB,gBAAImB,QAAQ,GAAG5C,iBAAiB,CAACqD,gBAAD,EAAmBhC,QAAnB,CAAhC;AACAsB,YAAAA,SAAS,GAAT,GAAwBC,QAAxB;AACArD,YAAAA,kBAAkB,CAAC8C,GAAnB,CAAuBO,QAAvB,EAAiCD,SAAjC;;AAEA,gBAAIV,cAAc,IAAIsB,YAAtB,EAAoC;AAClCA,cAAAA,YAAY,GAAGzE,qBAAqB;AAClCyE,cAAAA,YADkC;AAElCrB,cAAAA,eAAe,CAACW,EAFkB,CAApC;;AAIAhE,cAAAA,+BAA+B;AAC7BoD,cAAAA,cAAc,GADe;AAE7BsB,cAAAA,YAF6B;AAG7BX,cAAAA,QAH6B;AAI7BD,cAAAA,SAAS,CAACE,EAJmB,CAA/B;;;AAOAvD,cAAAA,aAAa,CAAC+C,GAAd,CAAkBO,QAAlB,EAA4BW,YAA5B;AACD;;AAEDT,YAAAA,cAAc,CAACH,SAAD,EAAYW,cAAZ,CAAd;;AAEAD,YAAAA,gBAAgB,GAAGzD,WAAW,CAACgD,QAAD,CAA9B;AACD,WAvBD,MAuBO;AACLL,YAAAA,4BAA4B;AAC1Be,YAAAA,cAD0B;AAE1BD,YAAAA,gBAF0B;AAG1BhC,YAAAA,QAH0B;AAI1BsB,YAAAA,SAJ0B;AAK1BY,YAAAA,YAL0B;AAM1BtB,YAAAA,cAN0B;AAO1BC,YAAAA,eAP0B,CAA5B;;AASD;AACF,SAtCD,MAsCO;AACL,cAAI2B,qBAAqB,GAArB,KAAsCR,gBAA1C,EAA4D;AAC1D;AACEA,YAAAA,gBAAgB;AACfU,YAAAA,aAAa,GAAGxE,kBAAkB,CAAC4E,GAAnB,CAAuBd,gBAAvB,CADD,CAAhB;AAEA7B,YAAAA,uBAAuB,IAAvB;AACEuC,YAAAA,aAAa,CAAClB,EADhB;AAEMqB,YAAAA,SALR;AAME;AACA;AACA;AACAb,cAAAA,gBAAgB,GAAGzD,WAAW,CAACmE,aAAa,GAAd,CAA9B;AACAZ,cAAAA,gBAAgB,CAACY,aAAD,CAAhB;AACA;AACD;;AAED;AACA;AACArE,YAAAA,YAAY;AACVmE,YAAAA,qBAAqB,GADX;AAEVR,YAAAA,gBAFU;AAGVhC,YAAAA,QAHU,CAAZ;;AAKD,WAtBD,MAsBO;AACLgC,YAAAA,gBAAgB;AACdA,YAAAA,gBAAgB,IAAIzD,WAAW,CAACyD,gBAAD,CADjC;AAED;;AAED,cAAI,CAACC,cAAc,GAAnB,EAAiC;AAC/BR,YAAAA,cAAc,CAACH,SAAD,EAAYW,cAAZ,CAAd;AACD;AACF;;AAEDA,QAAAA,cAAc,GAAGK,aAAjB;AACA;AACD,OA3ED,MA2EO,IAAIJ,YAAJ,EAAkB;AACvBO,QAAAA,iBAAiB,GAAGI,SAApB;AACAV,QAAAA,cAAc,GAAGU,SAAjB;AACA,YAAIE,oBAAoB,GAAGb,YAA3B;;AAEA,YAAIhD,SAAS,CAACgD,YAAD,CAAb,EAA6B;AAC3B,cAAItB,cAAc,KAAKC,eAAvB,EAAwC;AACtCqB,YAAAA,YAAY,IAAI,MAAMtB,cAAc,CAACY,EAArC;AACD;AACDoB,UAAAA,kBAAkB,GAAG/B,eAArB;AACD,SALD,MAKO;AACL+B,UAAAA,kBAAkB,GAAGhC,cAArB;AACD;;AAED;AACA;AACAsB,QAAAA,YAAY,GAAG;AACb7B,QAAAA,YAAY,CAACuC,kBAAkB,CAACpB,EAApB,CAAZ;AACCnB,QAAAA,YAAY,CAACuC,kBAAkB,CAACpB,EAApB,CAAZ,GAAsC,IAAIpE,WAAJ,EADvC,CADa;AAGF8E,QAAAA,YAHE,CAAf;;AAKA,YAAIF,gBAAJ,EAAsB;AACpBG,UAAAA,cAAc,GAAGlE,aAAa,CAAC6E,GAAd,CAAkBd,gBAAlB,CAAjB;AACAS,UAAAA,iBAAiB,GAAGtE,iBAAiB,CAAC2E,GAAlB,CAAsBd,gBAAtB,CAApB;AACAK,UAAAA,eAAe,GAAG9D,WAAW,CAACyD,gBAAD,CAA7B;AACD;;AAED,YAAIG,cAAc,KAAKD,YAAvB,EAAqC;AACnC;AACA,cAAI,CAACD,cAAc,GAAnB,EAAiC;AAC/B;;AAEA,gBAAI7C,gBAAgB,CAAC6C,cAAD,EAAiBQ,iBAAjB,CAApB,EAAyD;AACvDO,cAAAA,OAAO;AACLhB,cAAAA,gBADK;AAELS,cAAAA,iBAFK;AAGLR,cAAAA,cAHK;AAILpB,cAAAA,eAJK,CAAP;;AAMD,aAPD,MAOO;AACL;AACAc,cAAAA,UAAU,CAACK,gBAAD,EAAmBhC,QAAnB,EAA6BY,cAA7B,CAAV;;AAEA;AACAJ,cAAAA,uBAAuB;AACrByB,cAAAA,cADqB;AAErBC,cAAAA,YAFqB;AAGrBF,cAAAA,gBAHqB;AAIrBhC,cAAAA,QAJqB;AAKrBY,cAAAA,cALqB;AAMrBC,cAAAA,eANqB,CAAvB;;AAQD;AACF;AACF,SA3BD,MA2BO;AACL0B,UAAAA,cAAc,GAAGK,kBAAkB,GAAlB,CAAoCV,YAApC,CAAjB;AACA;AACEK,UAAAA,cAAc,KAAKM,SAAnB;AACAN,UAAAA,cAAc,KAAKP,gBAFrB;AAGE;AACA,gBAAI5B,SAAS,KAAK,IAAd,IAAsB4B,gBAA1B,EAA4C;AAC1C;AACEA,cAAAA,gBAAgB,CAAClC,QAAjB,KAA8BlB,YAA9B;AACCqD,cAAAA,cAAc,GAAd;AACC1C,cAAAA,sBAAsB;AACpByC,cAAAA,gBAAgB,CAACiB,QADG;AAEpBhB,cAAAA,cAAc,IAAd,IAA8B,EAFV,CAFxB,CADF;;AAOE;AACAQ,gBAAAA,iBAAiB,GAAG9E,iBAAiB,CAACqE,gBAAD,CAArC;AACAS,gBAAAA,iBAAiB,IAAjB,GAAgCR,cAAc,IAA9C;AACAhE,gBAAAA,aAAa,CAAC+C,GAAd,CAAkBgB,gBAAlB,EAAoCE,YAApC;AACAU,gBAAAA,kBAAkB,GAAlB,CAAoCV,YAApC;AACEF,gBAAAA,gBADF;;AAGA,oBAAIC,cAAc,GAAlB,EAAgC;AAC9B9D,kBAAAA,iBAAiB,CAAC6C,GAAlB,CAAsBgB,gBAAtB,EAAwCS,iBAAxC;AACD,iBAFD,MAEO;AACLO,kBAAAA,OAAO;AACLhB,kBAAAA,gBADK;AAELS,kBAAAA,iBAFK;AAGLR,kBAAAA,cAHK;AAILpB,kBAAAA,eAJK,CAAP;;AAMD;;AAEDoB,gBAAAA,cAAc,GAAGK,aAAjB;AACAN,gBAAAA,gBAAgB,GAAGK,eAAnB;AACA;AACD,eA5BD,MA4BO;AACLJ,cAAAA,cAAc,IAAd,KAA+BjD,aAA/B;AACAgD,cAAAA,gBAAgB,CAAClC,QAAjB,KAA8BhB,YAFzB;AAGL;AACA,oBAAIoE,OAAO,GAAGlB,gBAAgB,CAACmB,SAA/B;AACA,oBAAID,OAAO,IAAI,OAAOH,oBAAtB,EAA4C;AAC1C,sBAAIK,OAAO,GAAGpB,gBAAgB,CAACzD,WAA/B;AACA,sBAAI8E,KAAK,GAAG,CAAZ;AACA,sBAAIF,SAAJ;;AAEA;AACA,yBAAO,IAAP,EAAa;AACX,wBAAIC,OAAO,CAACtD,QAAR,KAAqBhB,YAAzB,EAAuC;AACrCqE,sBAAAA,SAAS,GAAGC,OAAO,CAACD,SAApB;AACA,0BAAIA,SAAS,KAAK,IAAlB,EAAwB;AACtB,4BAAIE,KAAK,KAAK,CAAd,EAAiB;AACf;AACD,yBAFD,MAEO;AACLA,0BAAAA,KAAK;AACN;AACF,uBAND,MAMO,IAAIF,SAAS,CAACG,OAAV,CAAkB,IAAlB,MAA4B,CAAhC,EAAmC;AACxCD,wBAAAA,KAAK;AACN;AACF;AACDD,oBAAAA,OAAO,GAAGA,OAAO,CAAC7E,WAAlB;AACD;;AAED,sBAAIT,QAAQ,GAAGY,kBAAkB;AAC/BsD,kBAAAA,gBAD+B;AAE/BoB,kBAAAA,OAAO,CAAC7E,WAFuB;AAG/ByB,kBAAAA,QAH+B,CAAjC;;AAKA/B,kBAAAA,aAAa,CAAC+C,GAAd,CAAkBlD,QAAlB,EAA4BoE,YAA5B;AACA/D,kBAAAA,iBAAiB,CAAC6C,GAAlB,CAAsBlD,QAAtB,EAAgCmE,cAAhC;AACAW,kBAAAA,kBAAkB,GAAlB,CAAoCV,YAApC,IAAoDpE,QAApD;AACAW,kBAAAA,WAAW,CAACuD,gBAAD,CAAX;AACAvD,kBAAAA,WAAW,CAAC2E,OAAD,CAAX;;AAEA,sBAAI,CAACnB,cAAc,GAAnB,EAAiC;AAC/BhB,oBAAAA,aAAa,CAACnD,QAAD,EAAWmE,cAAX,EAA2BpB,eAA3B,CAAb;AACD;;AAEDoB,kBAAAA,cAAc,GAAGK,aAAjB;AACAN,kBAAAA,gBAAgB,GAAGlE,QAAQ,CAACS,WAA5B;AACA;AACD;AACF;AACF;;AAEDiC,YAAAA,uBAAuB;AACrByB,YAAAA,cADqB;AAErBC,YAAAA,YAFqB;AAGrBF,YAAAA,gBAHqB;AAIrBhC,YAAAA,QAJqB;AAKrBY,YAAAA,cALqB;AAMrBC,YAAAA,eANqB,CAAvB;;AAQAwB,YAAAA,eAAe,GAAGL,gBAAlB;AACD,WA3FD,MA2FO;AACL,gBAAI5D,iBAAiB,CAAC0E,GAAlB,CAAsBP,cAAtB,MAA0CM,SAA9C,EAAyD;AACvDzE,cAAAA,iBAAiB,CAAC4C,GAAlB,CAAsBuB,cAAtB,EAAsCM,SAAtC;AACD;;AAED,gBAAI,CAACZ,cAAc,GAAnB,EAAiC;AAC/BQ,cAAAA,iBAAiB,GAAGtE,iBAAiB,CAAC2E,GAAlB,CAAsBP,cAAtB,CAApB;;AAEA,kBAAInD,gBAAgB,CAACqD,iBAAD,EAAoBR,cAApB,CAApB,EAAyD;AACvD,oBAAII,eAAe,KAAKE,cAAxB,EAAwC;AACtC;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACED,kBAAAA,aAAa;AACbA,kBAAAA,aAAa,IAAb,KAAyBH,cAF3B;AAGE;AACA;;AAEA;AACAE,oBAAAA,eAAe,GAAGL,gBAAlB;;AAEA;AACA3D,oBAAAA,YAAY,CAACkE,cAAD,EAAiBP,gBAAjB,EAAmChC,QAAnC,CAAZ;AACD,mBAXD,MAWO;AACL;;AAEA;AACA;AACA;AACA;AACAqC,oBAAAA,eAAe,GAAG9D,WAAW,CAAC8D,eAAD,CAA7B;;AAEA,wBAAIL,gBAAJ,EAAsB;AACpBL,sBAAAA,UAAU,CAACK,gBAAD,EAAmBhC,QAAnB,EAA6BY,cAA7B,CAAV;AACD;AACF;AACF,iBApCD,MAoCO;AACL;AACA;AACA;AACA;;AAEA;AACAtC,kBAAAA,WAAW,CAACiE,cAAD,EAAiBP,gBAAjB,EAAmChC,QAAnC,CAAX;;AAEA,sBAAIgC,gBAAJ,EAAsB;AACpBL,oBAAAA,UAAU,CAACK,gBAAD,EAAmBhC,QAAnB,EAA6BY,cAA7B,CAAV;AACD;AACF;;AAEDoC,gBAAAA,OAAO;AACLT,gBAAAA,cADK;AAELE,gBAAAA,iBAFK;AAGLR,gBAAAA,cAHK;AAILpB,gBAAAA,eAJK,CAAP;;AAMD,eAzDD,MAyDO;AACLL,gBAAAA,uBAAuB;AACrByB,gBAAAA,cADqB;AAErBC,gBAAAA,YAFqB;AAGrBF,gBAAAA,gBAHqB;AAIrBhC,gBAAAA,QAJqB;AAKrBY,gBAAAA,cALqB;AAMrBC,gBAAAA,eANqB,CAAvB;;AAQAc,gBAAAA,UAAU,CAACY,cAAD,EAAiBvC,QAAjB,EAA2BY,cAA3B,CAAV;AACD;AACF,aAvED,MAuEO;AACL;AACA;AACAvC,cAAAA,YAAY,CAACkE,cAAD,EAAiBP,gBAAjB,EAAmChC,QAAnC,CAAZ;AACAqC,cAAAA,eAAe,GAAGL,gBAAlB;AACD;AACF;AACF;;AAEDC,QAAAA,cAAc,GAAGK,aAAjB;AACAN,QAAAA,gBAAgB,GAAGK,eAAnB;AACA;AACD;;AAED;AACA;AACA;AACA,aAAOL,gBAAP,EAAyB;AACvBK,QAAAA,eAAe,GAAG9D,WAAW,CAACyD,gBAAD,CAA7B;;AAEA,YAAKU,aAAa,GAAGxE,kBAAkB,CAAC4E,GAAnB,CAAuBd,gBAAvB,CAArB,EAAgE;AAC9D;AACA;;AAEA;AACA;AACA;AACAA,UAAAA,gBAAgB,GAAGK,eAAnB;;AAEA;AACE,WAAClC,uBAAuB,IAAvB,CAAkDuC,aAAa,CAAClB,EAAhE,CADH;AAEE;AACAM,YAAAA,gBAAgB,CAACY,aAAD,CAAhB;AACD;;AAED,mBAf8D,CAepD;AACX;;AAED,YAAIa,eAAe,GAAGvB,gBAAgB,CAAClC,QAAvC;;AAEA,YAAI0D,YAAY,GAAGX,SAAnB;;AAEA,YAAIU,eAAe,KAAKnB,aAAxB,EAAuC;AACrC,cAAImB,eAAe,KAAK3E,YAAxB,EAAsC;AACpC;AACA6D,YAAAA,iBAAiB,GAAGtE,iBAAiB,CAAC2E,GAAlB,CAAsBd,gBAAtB,CAApB;AACA,gBAAIS,iBAAiB,KAAKI,SAA1B,EAAqC;AACnC,kBAAIzC,SAAS,KAAK,IAAlB,EAAwB;AACtBqC,gBAAAA,iBAAiB,GAAG9E,iBAAiB,CAACqE,gBAAD,CAArC;;AAEA;AACEzC,gBAAAA,sBAAsB;AACpBkD,gBAAAA,iBAAiB,IADG;AAEpBR,gBAAAA,cAAc,IAFM,CADxB;;AAKE;AACAQ,kBAAAA,iBAAiB,IAAjB,GAAgCR,cAAc,IAA9C;AACD;AACF,eAXD,MAWO;AACL;AACAD,gBAAAA,gBAAgB,GAAGK,eAAnB;AACA;AACD;AACF,aAjBD,MAiBO,IAAKF,cAAc,GAAGM,iBAAiB,IAAvC,EAAiD;AACtD;AACA;AACAe,cAAAA,YAAY,GAAG,KAAf;AACD;;AAEDA,YAAAA,YAAY;AACVA,YAAAA,YAAY,KAAK,KAAjB;AACApE,YAAAA,gBAAgB,CAACqD,iBAAD,EAAoBR,cAApB,CAAhB,KAAwD,IAF1D;;AAIA,gBAAIuB,YAAY,KAAK,IAArB,EAA2B;AACzB;AACA;AACA;AACAR,cAAAA,OAAO;AACLhB,cAAAA,gBADK;AAELS,cAAAA,iBAFK;AAGLR,cAAAA,cAHK;AAILpB,cAAAA,eAJK,CAAP;;AAMD;AACF,WAzCD,MAyCO;AACL0C,UAAAA,eAAe,KAAK1E,SAApB;AACA0E,UAAAA,eAAe,KAAKzE,YAFf;AAGL;AACA;AACA0E,YAAAA,YAAY,GAAG,IAAf;AACA;AACA;;AAEA;AACEpD,YAAAA,SAAS,KAAK,IAAd;AACAkC,YAAAA,aADA;AAEAiB,YAAAA,eAAe,KAAK1E,SAFpB;AAGAyD,YAAAA,aAAa,IAAb,KAA8BzD,SAJhC;AAKE;AACAwD,cAAAA,eAAe,GAAGL,gBAAgB,CAACyB,SAAjB;AAChBxB,cAAAA,cAAc,IAAd,CAA4ByB,MADZ,CAAlB;;AAGD;AACD,gBAAI1B,gBAAgB,CAACmB,SAAjB,KAA+BlB,cAAc,IAAjD,EAAgE;AAC9DD,cAAAA,gBAAgB,CAACmB,SAAjB,GAA6BlB,cAAc,IAA3C;AACD;AACF;AACF;;AAED,YAAIuB,YAAY,KAAK,IAArB,EAA2B;AACzB;AACAvB,UAAAA,cAAc,GAAGK,aAAjB;AACAN,UAAAA,gBAAgB,GAAGK,eAAnB;AACA,mBAASM,KAAT;AACD;;AAEDhB,QAAAA,UAAU,CAACK,gBAAD,EAAmBhC,QAAnB,EAA6BY,cAA7B,CAAV;AACAoB,QAAAA,gBAAgB,GAAGK,eAAnB;AACD,OA7a2B,CA6a1B;;AAEF;AACA;AACA;AACA;AACA7B,MAAAA,uBAAuB;AACrByB,MAAAA,cADqB;AAErBC,MAAAA,YAFqB;AAGrBF,MAAAA,gBAHqB;AAIrBhC,MAAAA,QAJqB;AAKrBY,MAAAA,cALqB;AAMrBC,MAAAA,eANqB,CAAvB;;;AASAoB,MAAAA,cAAc,GAAGK,aAAjB;AACAN,MAAAA,gBAAgB,GAAGK,eAAnB;AACD;;AAED;AACA,QAAIrC,QAAQ,IAAZ,EAAgC;AAC9B;AACA;AACAA,MAAAA,QAAQ,IAAR,CAA2BgC,gBAA3B;AACD,KAJD,MAIO;AACL;AACA;AACA,UAAI2B,gBAAgB;AAClB3D,MAAAA,QAAQ,CAACF,QAAT,KAAsBd,aAAtB,GAAsCgB,QAAQ,CAACoD,OAA/C,GAAyD,IAD3D;;AAGA,aAAOpB,gBAAgB,IAAIA,gBAAgB,KAAK2B,gBAAhD,EAAkE;AAChEtB,QAAAA,eAAe,GAAG9D,WAAW,CAACyD,gBAAD,CAA7B;;AAEA,YAAKU,aAAa,GAAGxE,kBAAkB,CAAC4E,GAAnB,CAAuBd,gBAAvB,CAArB,EAAgE;AAC9DA,UAAAA,gBAAgB,GAAGK,eAAnB;AACA;AACE,WAAClC,uBAAuB,IAAvB,CAAkDuC,aAAa,CAAClB,EAAhE,CADH;AAEE;AACAM,YAAAA,gBAAgB,CAACY,aAAD,CAAhB;AACD;AACD;AACD;;AAEDD,QAAAA,iBAAiB,GAAGtE,iBAAiB,CAAC2E,GAAlB,CAAsBd,gBAAtB,CAApB;AACAG,QAAAA,cAAc,GAAGlE,aAAa,CAAC6E,GAAd,CAAkB9C,QAAlB,CAAjB;;AAEA;AACA;AACA,YAAI,CAACmC,cAAD,IAAmBjD,SAAS,CAACiD,cAAD,CAAhC,EAAkD;AAChDS,UAAAA,kBAAkB,GAAG/B,eAArB;AACD,SAFD,MAEO;AACL+B,UAAAA,kBAAkB;AAChBH,UAAAA,iBAAiB,IAAIA,iBAAiB,IADxC;AAED;;AAEDd,QAAAA,UAAU,CAACK,gBAAD,EAAmBhC,QAAnB,EAA6B4C,kBAA7B,CAAV;;AAEAZ,QAAAA,gBAAgB,GAAGK,eAAnB;AACD;AACF;AACF;;AAED,WAASW,OAAT,CAAiB3D,MAAjB,EAAyBuE,OAAzB,EAAkCtE,IAAlC,EAAwCuB,eAAxC,EAAyD;AACvD,QAAIoC,QAAQ,GAAG3D,IAAI,IAAnB;;AAEA,QAAIuE,OAAO,GAAGvE,IAAI,IAAlB;AACA,QAAIuE,OAAO,KAAKhB,SAAZ,IAAyBe,OAAO,IAAP,KAAuBC,OAApD,EAA6D;AAC3D;AACD;;AAEDjG,IAAAA,UAAU,CAACyB,MAAD,EAASuE,OAAT,EAAkBtE,IAAlB,CAAV;;AAEA,QAAIA,IAAI,GAAR,EAA0B;AACxB;AACD;;AAED,QAAI2D,QAAQ,KAAK,UAAjB,EAA6B;AAC3BhC,MAAAA,aAAa,CAAC5B,MAAD,EAASC,IAAT,EAAeuB,eAAf,CAAb;AACD;;AAED,QAAIiD,gBAAgB,GAAG5G,iBAAiB,CAAC+F,QAAD,CAAxC;AACA,QAAIa,gBAAgB,KAAKjB,SAAzB,EAAoC;AAClCiB,MAAAA,gBAAgB,CAACzE,MAAD,EAASC,IAAT,CAAhB;AACD;AACF,GA1mB0D,CA0mBzD;;AAEF;;;;;AAKA2B,EAAAA,aAAa,CAACjB,QAAD,EAAWC,MAAX,EAAmBA,MAAM,GAAzB,CAAb;;AAEAyB,EAAAA,aAAa,CAACqC,OAAd,CAAsB,UAAUnE,IAAV,EAAgB;AACpC,QAAIoE,qBAAqB,GAAG5F,iBAAiB,CAAC0E,GAAlB,CAAsBlD,IAAtB,CAA5B;;AAEA,QAAIoE,qBAAqB,KAAKnB,SAA9B,EAAyC;AACvCzE,MAAAA,iBAAiB,CAAC4C,GAAlB,CAAsBpB,IAAtB,EAA4BiD,SAA5B;;AAEA,UAAIoB,kBAAkB,GAAG/F,kBAAkB,CAAC4E,GAAnB,CAAuBlD,IAAvB,CAAzB;AACA,UAAIqE,kBAAJ,EAAwB;AACtBA,QAAAA,kBAAkB,CAAClC,OAAnB;AACD,OAFD,MAEO,IAAInC,IAAI,CAACgC,UAAT,EAAqB;AAC1BrE,QAAAA,oBAAoB;AAClBqC,QAAAA,IADkB;AAElBoE,QAAAA,qBAAqB,KAAK,IAA1B,IAAkCA,qBAFhB,CAApB;;;AAKA,YAAInG,eAAe,IAAf,CAAoC+B,IAApC,KAA6C,KAAjD,EAAwD;AACtDnB,UAAAA,WAAW,CAACmB,IAAD,CAAX;AACD;AACF;AACF;AACF,GApBD;;AAsBA;;;;AAID;;AAEDsE,MAAM,CAACC,OAAP,GAAiBpE,QAAjB","sourcesContent":["\"use strict\";\nvar specialElHandlers = require(\"./specialElHandlers\");\nvar KeySequence = require(\"../../components/KeySequence\");\nvar componentsUtil = require(\"../../components/util\");\nvar existingComponentLookup = componentsUtil.___componentLookup;\nvar destroyNodeRecursive = componentsUtil.___destroyNodeRecursive;\nvar addComponentRootToKeyedElements =\n componentsUtil.___addComponentRootToKeyedElements;\nvar normalizeComponentKey = componentsUtil.___normalizeComponentKey;\nvar VElement = require(\"../vdom\").___VElement;\nvar virtualizeElement = VElement.___virtualize;\nvar morphAttrs = VElement.___morphAttrs;\nvar eventDelegation = require(\"../../components/event-delegation\");\nvar fragment = require(\"./fragment\");\nvar helpers = require(\"./helpers\");\nvar domData = require(\"../../components/dom-data\");\nvar keysByDOMNode = domData.___keyByDOMNode;\nvar componentByDOMNode = domData.___componentByDOMNode;\nvar vElementByDOMNode = domData.___vElementByDOMNode;\nvar detachedByDOMNode = domData.___detachedByDOMNode;\n\nvar insertBefore = helpers.___insertBefore;\nvar insertAfter = helpers.___insertAfter;\nvar nextSibling = helpers.___nextSibling;\nvar firstChild = helpers.___firstChild;\nvar removeChild = helpers.___removeChild;\nvar createFragmentNode = fragment.___createFragmentNode;\nvar beginFragmentNode = fragment.___beginFragmentNode;\n\nvar ELEMENT_NODE = 1;\nvar TEXT_NODE = 3;\nvar COMMENT_NODE = 8;\nvar COMPONENT_NODE = 2;\nvar FRAGMENT_NODE = 12;\nvar DOCTYPE_NODE = 10;\n\n// var FLAG_SIMPLE_ATTRS = 1;\n// var FLAG_CUSTOM_ELEMENT = 2;\n// var FLAG_SPREAD_ATTRS = 4;\n\nfunction isAutoKey(key) {\n return key[0] !== \"@\";\n}\n\nfunction compareNodeNames(fromEl, toEl) {\n return fromEl.___nodeName === toEl.___nodeName;\n}\n\nfunction caseInsensitiveCompare(a, b) {\n return a.toLowerCase() === b.toLowerCase();\n}\n\nfunction onNodeAdded(node, componentsContext) {\n if (node.nodeType === ELEMENT_NODE) {\n eventDelegation.___handleNodeAttach(node, componentsContext);\n }\n}\n\nfunction morphdom(fromNode, toNode, host, componentsContext) {\n var globalComponentsContext;\n var isHydrate = false;\n var keySequences = Object.create(null);\n\n if (componentsContext) {\n globalComponentsContext = componentsContext.___globalContext;\n isHydrate = globalComponentsContext.___isHydrate;\n }\n\n function insertVirtualNodeBefore(\n vNode,\n key,\n referenceEl,\n parentEl,\n ownerComponent,\n parentComponent\n ) {\n var realNode = vNode.___actualize(host, parentEl.namespaceURI);\n insertBefore(realNode, referenceEl, parentEl);\n\n if (\n vNode.___nodeType === ELEMENT_NODE ||\n vNode.___nodeType === FRAGMENT_NODE\n ) {\n if (key) {\n keysByDOMNode.set(realNode, key);\n (isAutoKey(key) ? parentComponent : ownerComponent).___keyedElements[\n key\n ] = realNode;\n }\n\n if (vNode.___nodeName !== \"textarea\") {\n morphChildren(realNode, vNode, parentComponent);\n }\n\n onNodeAdded(realNode, componentsContext);\n }\n }\n\n function insertVirtualComponentBefore(\n vComponent,\n referenceNode,\n referenceNodeParentEl,\n component,\n key,\n ownerComponent,\n parentComponent\n ) {\n var rootNode = (component.___rootNode = insertBefore(\n createFragmentNode(),\n referenceNode,\n referenceNodeParentEl\n ));\n componentByDOMNode.set(rootNode, component);\n\n if (key && ownerComponent) {\n key = normalizeComponentKey(key, parentComponent.id);\n addComponentRootToKeyedElements(\n ownerComponent.___keyedElements,\n key,\n rootNode,\n component.id\n );\n keysByDOMNode.set(rootNode, key);\n }\n\n morphComponent(component, vComponent);\n }\n\n function morphComponent(component, vComponent) {\n morphChildren(component.___rootNode, vComponent, component);\n }\n\n var detachedNodes = [];\n\n function detachNode(node, parentNode, ownerComponent) {\n if (node.nodeType === ELEMENT_NODE || node.nodeType === FRAGMENT_NODE) {\n detachedNodes.push(node);\n detachedByDOMNode.set(node, ownerComponent || true);\n } else {\n destroyNodeRecursive(node);\n removeChild(node);\n }\n }\n\n function destroyComponent(component) {\n component.destroy();\n }\n\n function morphChildren(fromNode, toNode, parentComponent) {\n var curFromNodeChild = firstChild(fromNode);\n var curToNodeChild = toNode.___firstChild;\n\n var curToNodeKey;\n var curFromNodeKey;\n var curToNodeType;\n\n var fromNextSibling;\n var toNextSibling;\n var matchingFromEl;\n var matchingFromComponent;\n var curVFromNodeChild;\n var fromComponent;\n\n outer: while (curToNodeChild) {\n toNextSibling = curToNodeChild.___nextSibling;\n curToNodeType = curToNodeChild.___nodeType;\n curToNodeKey = curToNodeChild.___key;\n\n // Skip <!doctype>\n if (curFromNodeChild && curFromNodeChild.nodeType === DOCTYPE_NODE) {\n curFromNodeChild = nextSibling(curFromNodeChild);\n }\n\n var ownerComponent = curToNodeChild.___ownerComponent || parentComponent;\n var referenceComponent;\n\n if (curToNodeType === COMPONENT_NODE) {\n var component = curToNodeChild.___component;\n if (\n (matchingFromComponent = existingComponentLookup[component.id]) ===\n undefined\n ) {\n if (isHydrate === true) {\n var rootNode = beginFragmentNode(curFromNodeChild, fromNode);\n component.___rootNode = rootNode;\n componentByDOMNode.set(rootNode, component);\n\n if (ownerComponent && curToNodeKey) {\n curToNodeKey = normalizeComponentKey(\n curToNodeKey,\n parentComponent.id\n );\n addComponentRootToKeyedElements(\n ownerComponent.___keyedElements,\n curToNodeKey,\n rootNode,\n component.id\n );\n\n keysByDOMNode.set(rootNode, curToNodeKey);\n }\n\n morphComponent(component, curToNodeChild);\n\n curFromNodeChild = nextSibling(rootNode);\n } else {\n insertVirtualComponentBefore(\n curToNodeChild,\n curFromNodeChild,\n fromNode,\n component,\n curToNodeKey,\n ownerComponent,\n parentComponent\n );\n }\n } else {\n if (matchingFromComponent.___rootNode !== curFromNodeChild) {\n if (\n curFromNodeChild &&\n (fromComponent = componentByDOMNode.get(curFromNodeChild)) &&\n globalComponentsContext.___renderedComponentsById[\n fromComponent.id\n ] === undefined\n ) {\n // The component associated with the current real DOM node was not rendered\n // so we should just remove it out of the real DOM by destroying it\n curFromNodeChild = nextSibling(fromComponent.___rootNode);\n destroyComponent(fromComponent);\n continue;\n }\n\n // We need to move the existing component into\n // the correct location\n insertBefore(\n matchingFromComponent.___rootNode,\n curFromNodeChild,\n fromNode\n );\n } else {\n curFromNodeChild =\n curFromNodeChild && nextSibling(curFromNodeChild);\n }\n\n if (!curToNodeChild.___preserve) {\n morphComponent(component, curToNodeChild);\n }\n }\n\n curToNodeChild = toNextSibling;\n continue;\n } else if (curToNodeKey) {\n curVFromNodeChild = undefined;\n curFromNodeKey = undefined;\n var curToNodeKeyOriginal = curToNodeKey;\n\n if (isAutoKey(curToNodeKey)) {\n if (ownerComponent !== parentComponent) {\n curToNodeKey += \":\" + ownerComponent.id;\n }\n referenceComponent = parentComponent;\n } else {\n referenceComponent = ownerComponent;\n }\n\n // We have a keyed element. This is the fast path for matching\n // up elements\n curToNodeKey = (\n keySequences[referenceComponent.id] ||\n (keySequences[referenceComponent.id] = new KeySequence())\n ).___nextKey(curToNodeKey);\n\n if (curFromNodeChild) {\n curFromNodeKey = keysByDOMNode.get(curFromNodeChild);\n curVFromNodeChild = vElementByDOMNode.get(curFromNodeChild);\n fromNextSibling = nextSibling(curFromNodeChild);\n }\n\n if (curFromNodeKey === curToNodeKey) {\n // Elements line up. Now we just have to make sure they are compatible\n if (!curToNodeChild.___preserve) {\n // We just skip over the fromNode if it is preserved\n\n if (compareNodeNames(curToNodeChild, curVFromNodeChild)) {\n morphEl(\n curFromNodeChild,\n curVFromNodeChild,\n curToNodeChild,\n parentComponent\n );\n } else {\n // Remove the old node\n detachNode(curFromNodeChild, fromNode, ownerComponent);\n\n // Incompatible nodes. Just move the target VNode into the DOM at this position\n insertVirtualNodeBefore(\n curToNodeChild,\n curToNodeKey,\n curFromNodeChild,\n fromNode,\n ownerComponent,\n parentComponent\n );\n }\n }\n } else {\n matchingFromEl = referenceComponent.___keyedElements[curToNodeKey];\n if (\n matchingFromEl === undefined ||\n matchingFromEl === curFromNodeChild\n ) {\n if (isHydrate === true && curFromNodeChild) {\n if (\n curFromNodeChild.nodeType === ELEMENT_NODE &&\n (curToNodeChild.___preserve ||\n caseInsensitiveCompare(\n curFromNodeChild.nodeName,\n curToNodeChild.___nodeName || \"\"\n ))\n ) {\n curVFromNodeChild = virtualizeElement(curFromNodeChild);\n curVFromNodeChild.___nodeName = curToNodeChild.___nodeName;\n keysByDOMNode.set(curFromNodeChild, curToNodeKey);\n referenceComponent.___keyedElements[curToNodeKey] =\n curFromNodeChild;\n\n if (curToNodeChild.___preserve) {\n vElementByDOMNode.set(curFromNodeChild, curVFromNodeChild);\n } else {\n morphEl(\n curFromNodeChild,\n curVFromNodeChild,\n curToNodeChild,\n parentComponent\n );\n }\n\n curToNodeChild = toNextSibling;\n curFromNodeChild = fromNextSibling;\n continue;\n } else if (\n curToNodeChild.___nodeType === FRAGMENT_NODE &&\n curFromNodeChild.nodeType === COMMENT_NODE\n ) {\n var content = curFromNodeChild.nodeValue;\n if (content == \"F#\" + curToNodeKeyOriginal) {\n var endNode = curFromNodeChild.nextSibling;\n var depth = 0;\n var nodeValue;\n\n // eslint-disable-next-line no-constant-condition\n while (true) {\n if (endNode.nodeType === COMMENT_NODE) {\n nodeValue = endNode.nodeValue;\n if (nodeValue === \"F/\") {\n if (depth === 0) {\n break;\n } else {\n depth--;\n }\n } else if (nodeValue.indexOf(\"F#\") === 0) {\n depth++;\n }\n }\n endNode = endNode.nextSibling;\n }\n\n var fragment = createFragmentNode(\n curFromNodeChild,\n endNode.nextSibling,\n fromNode\n );\n keysByDOMNode.set(fragment, curToNodeKey);\n vElementByDOMNode.set(fragment, curToNodeChild);\n referenceComponent.___keyedElements[curToNodeKey] = fragment;\n removeChild(curFromNodeChild);\n removeChild(endNode);\n\n if (!curToNodeChild.___preserve) {\n morphChildren(fragment, curToNodeChild, parentComponent);\n }\n\n curToNodeChild = toNextSibling;\n curFromNodeChild = fragment.nextSibling;\n continue;\n }\n }\n }\n\n insertVirtualNodeBefore(\n curToNodeChild,\n curToNodeKey,\n curFromNodeChild,\n fromNode,\n ownerComponent,\n parentComponent\n );\n fromNextSibling = curFromNodeChild;\n } else {\n if (detachedByDOMNode.get(matchingFromEl) !== undefined) {\n detachedByDOMNode.set(matchingFromEl, undefined);\n }\n\n if (!curToNodeChild.___preserve) {\n curVFromNodeChild = vElementByDOMNode.get(matchingFromEl);\n\n if (compareNodeNames(curVFromNodeChild, curToNodeChild)) {\n if (fromNextSibling === matchingFromEl) {\n // Single element removal:\n // A <-> A\n // B <-> C <-- We are here\n // C D\n // D\n //\n // Single element swap:\n // A <-> A\n // B <-> C <-- We are here\n // C B\n\n if (\n toNextSibling &&\n toNextSibling.___key === curFromNodeKey\n ) {\n // Single element swap\n\n // We want to stay on the current real DOM node\n fromNextSibling = curFromNodeChild;\n\n // But move the matching element into place\n insertBefore(matchingFromEl, curFromNodeChild, fromNode);\n } else {\n // Single element removal\n\n // We need to remove the current real DOM node\n // and the matching real DOM node will fall into\n // place. We will continue diffing with next sibling\n // after the real DOM node that just fell into place\n fromNextSibling = nextSibling(fromNextSibling);\n\n if (curFromNodeChild) {\n detachNode(curFromNodeChild, fromNode, ownerComponent);\n }\n }\n } else {\n // A <-> A\n // B <-> D <-- We are here\n // C\n // D\n\n // We need to move the matching node into place\n insertAfter(matchingFromEl, curFromNodeChild, fromNode);\n\n if (curFromNodeChild) {\n detachNode(curFromNodeChild, fromNode, ownerComponent);\n }\n }\n\n morphEl(\n matchingFromEl,\n curVFromNodeChild,\n curToNodeChild,\n parentComponent\n );\n } else {\n insertVirtualNodeBefore(\n curToNodeChild,\n curToNodeKey,\n curFromNodeChild,\n fromNode,\n ownerComponent,\n parentComponent\n );\n detachNode(matchingFromEl, fromNode, ownerComponent);\n }\n } else {\n // preserve the node\n // but still we need to diff the current from node\n insertBefore(matchingFromEl, curFromNodeChild, fromNode);\n fromNextSibling = curFromNodeChild;\n }\n }\n }\n\n curToNodeChild = toNextSibling;\n curFromNodeChild = fromNextSibling;\n continue;\n }\n\n // The know the target node is not a VComponent node and we know\n // it is also not a preserve node. Let's now match up the HTML\n // element, text node, comment, etc.\n while (curFromNodeChild) {\n fromNextSibling = nextSibling(curFromNodeChild);\n\n if ((fromComponent = componentByDOMNode.get(curFromNodeChild))) {\n // The current \"to\" element is not associated with a component,\n // but the current \"from\" element is associated with a component\n\n // Even if we destroy the current component in the original\n // DOM or not, we still need to skip over it since it is\n // not compatible with the current \"to\" node\n curFromNodeChild = fromNextSibling;\n\n if (\n !globalComponentsContext.___renderedComponentsById[fromComponent.id]\n ) {\n destroyComponent(fromComponent);\n }\n\n continue; // Move to the next \"from\" node\n }\n\n var curFromNodeType = curFromNodeChild.nodeType;\n\n var isCompatible = undefined;\n\n if (curFromNodeType === curToNodeType) {\n if (curFromNodeType === ELEMENT_NODE) {\n // Both nodes being compared are Element nodes\n curVFromNodeChild = vElementByDOMNode.get(curFromNodeChild);\n if (curVFromNodeChild === undefined) {\n if (isHydrate === true) {\n curVFromNodeChild = virtualizeElement(curFromNodeChild);\n\n if (\n caseInsensitiveCompare(\n curVFromNodeChild.___nodeName,\n curToNodeChild.___nodeName\n )\n ) {\n curVFromNodeChild.___nodeName = curToNodeChild.___nodeName;\n }\n } else {\n // Skip over nodes that don't look like ours...\n curFromNodeChild = fromNextSibling;\n continue;\n }\n } else if ((curFromNodeKey = curVFromNodeChild.___key)) {\n // We have a keyed element here but our target VDOM node\n // is not keyed so this not doesn't belong\n isCompatible = false;\n }\n\n isCompatible =\n isCompatible !== false &&\n compareNodeNames(curVFromNodeChild, curToNodeChild) === true;\n\n if (isCompatible === true) {\n // We found compatible DOM elements so transform\n // the current \"from\" node to match the current\n // target DOM node.\n morphEl(\n curFromNodeChild,\n curVFromNodeChild,\n curToNodeChild,\n parentComponent\n );\n }\n } else if (\n curFromNodeType === TEXT_NODE ||\n curFromNodeType === COMMENT_NODE\n ) {\n // Both nodes being compared are Text or Comment nodes\n isCompatible = true;\n // Simply update nodeValue on the original node to\n // change the text value\n\n if (\n isHydrate === true &&\n toNextSibling &&\n curFromNodeType === TEXT_NODE &&\n toNextSibling.___nodeType === TEXT_NODE\n ) {\n fromNextSibling = curFromNodeChild.splitText(\n curToNodeChild.___nodeValue.length\n );\n }\n if (curFromNodeChild.nodeValue !== curToNodeChild.___nodeValue) {\n curFromNodeChild.nodeValue = curToNodeChild.___nodeValue;\n }\n }\n }\n\n if (isCompatible === true) {\n // Advance both the \"to\" child and the \"from\" child since we found a match\n curToNodeChild = toNextSibling;\n curFromNodeChild = fromNextSibling;\n continue outer;\n }\n\n detachNode(curFromNodeChild, fromNode, ownerComponent);\n curFromNodeChild = fromNextSibling;\n } // END: while (curFromNodeChild)\n\n // If we got this far then we did not find a candidate match for\n // our \"to node\" and we exhausted all of the children \"from\"\n // nodes. Therefore, we will just append the current \"to\" node\n // to the end\n insertVirtualNodeBefore(\n curToNodeChild,\n curToNodeKey,\n curFromNodeChild,\n fromNode,\n ownerComponent,\n parentComponent\n );\n\n curToNodeChild = toNextSibling;\n curFromNodeChild = fromNextSibling;\n }\n\n // We have processed all of the \"to nodes\".\n if (fromNode.___finishFragment) {\n // If we are in an unfinished fragment, we have reached the end of the nodes\n // we were matching up and need to end the fragment\n fromNode.___finishFragment(curFromNodeChild);\n } else {\n // If curFromNodeChild is non-null then we still have some from nodes\n // left over that need to be removed\n var fragmentBoundary =\n fromNode.nodeType === FRAGMENT_NODE ? fromNode.endNode : null;\n\n while (curFromNodeChild && curFromNodeChild !== fragmentBoundary) {\n fromNextSibling = nextSibling(curFromNodeChild);\n\n if ((fromComponent = componentByDOMNode.get(curFromNodeChild))) {\n curFromNodeChild = fromNextSibling;\n if (\n !globalComponentsContext.___renderedComponentsById[fromComponent.id]\n ) {\n destroyComponent(fromComponent);\n }\n continue;\n }\n\n curVFromNodeChild = vElementByDOMNode.get(curFromNodeChild);\n curFromNodeKey = keysByDOMNode.get(fromNode);\n\n // For transcluded content, we need to check if the element belongs to a different component\n // context than the current component and ensure it gets removed from its key index.\n if (!curFromNodeKey || isAutoKey(curFromNodeKey)) {\n referenceComponent = parentComponent;\n } else {\n referenceComponent =\n curVFromNodeChild && curVFromNodeChild.___ownerComponent;\n }\n\n detachNode(curFromNodeChild, fromNode, referenceComponent);\n\n curFromNodeChild = fromNextSibling;\n }\n }\n }\n\n function morphEl(fromEl, vFromEl, toEl, parentComponent) {\n var nodeName = toEl.___nodeName;\n\n var constId = toEl.___constId;\n if (constId !== undefined && vFromEl.___constId === constId) {\n return;\n }\n\n morphAttrs(fromEl, vFromEl, toEl);\n\n if (toEl.___preserveBody) {\n return;\n }\n\n if (nodeName !== \"textarea\") {\n morphChildren(fromEl, toEl, parentComponent);\n }\n\n var specialElHandler = specialElHandlers[nodeName];\n if (specialElHandler !== undefined) {\n specialElHandler(fromEl, toEl);\n }\n } // END: morphEl(...)\n\n // eslint-disable-next-line no-constant-condition\n if (\"MARKO_DEBUG\") {\n componentsUtil.___stopDOMManipulationWarning(host);\n }\n\n morphChildren(fromNode, toNode, toNode.___component);\n\n detachedNodes.forEach(function (node) {\n var detachedFromComponent = detachedByDOMNode.get(node);\n\n if (detachedFromComponent !== undefined) {\n detachedByDOMNode.set(node, undefined);\n\n var componentToDestroy = componentByDOMNode.get(node);\n if (componentToDestroy) {\n componentToDestroy.destroy();\n } else if (node.parentNode) {\n destroyNodeRecursive(\n node,\n detachedFromComponent !== true && detachedFromComponent\n );\n\n if (eventDelegation.___handleNodeDetach(node) != false) {\n removeChild(node);\n }\n }\n }\n });\n\n // eslint-disable-next-line no-constant-condition\n if (\"MARKO_DEBUG\") {\n componentsUtil.___startDOMManipulationWarning(host);\n }\n}\n\nmodule.exports = morphdom;\n"],"file":"index.js"}
|
@@ -13,13 +13,13 @@ function forEachOption(el, fn, i) {
|
|
13
13
|
var curChild = el._r_;
|
14
14
|
|
15
15
|
while (curChild) {
|
16
|
-
if (curChild.
|
16
|
+
if (curChild.bG_ === "option") {
|
17
17
|
fn(curChild, ++i);
|
18
18
|
} else {
|
19
19
|
i = forEachOption(curChild, fn, i);
|
20
20
|
}
|
21
21
|
|
22
|
-
curChild = curChild.
|
22
|
+
curChild = curChild.bR_;
|
23
23
|
}
|
24
24
|
|
25
25
|
return i;
|
@@ -52,13 +52,13 @@ SpecialElHandlers.prototype = {
|
|
52
52
|
fromEl.value = toEl.q_;
|
53
53
|
}
|
54
54
|
|
55
|
-
if (fromEl.hasAttribute("value") && !toEl.
|
55
|
+
if (fromEl.hasAttribute("value") && !toEl.bK_("value")) {
|
56
56
|
fromEl.removeAttribute("value");
|
57
57
|
}
|
58
58
|
},
|
59
59
|
|
60
60
|
textarea: function (fromEl, toEl) {
|
61
|
-
if (toEl.
|
61
|
+
if (toEl.bU_) {
|
62
62
|
return;
|
63
63
|
}
|
64
64
|
|
@@ -84,12 +84,12 @@ SpecialElHandlers.prototype = {
|
|
84
84
|
}
|
85
85
|
},
|
86
86
|
select: function (fromEl, toEl) {
|
87
|
-
if (!toEl.
|
87
|
+
if (!toEl.bK_("multiple")) {
|
88
88
|
var selected = 0;
|
89
89
|
forEachOption(
|
90
90
|
toEl,
|
91
91
|
function (option, i) {
|
92
|
-
if (option.
|
92
|
+
if (option.bK_("selected")) {
|
93
93
|
selected = i;
|
94
94
|
}
|
95
95
|
},
|
@@ -6,13 +6,12 @@ var VComponent = require("./VComponent");
|
|
6
6
|
var VFragment = require("./VFragment");
|
7
7
|
var parseHTML = require("./parse-html");
|
8
8
|
|
9
|
-
var defaultDocument = typeof document != "undefined" && document;
|
10
9
|
var specialHtmlRegexp = /[&<]/;
|
11
10
|
|
12
11
|
function virtualizeChildNodes(node, vdomParent, ownerComponent) {
|
13
12
|
var curChild = node.firstChild;
|
14
13
|
while (curChild) {
|
15
|
-
vdomParent.
|
14
|
+
vdomParent.bq_(virtualize(curChild, ownerComponent));
|
16
15
|
curChild = curChild.nextSibling;
|
17
16
|
}
|
18
17
|
}
|
@@ -20,7 +19,7 @@ function virtualizeChildNodes(node, vdomParent, ownerComponent) {
|
|
20
19
|
function virtualize(node, ownerComponent) {
|
21
20
|
switch (node.nodeType) {
|
22
21
|
case 1:
|
23
|
-
return VElement.
|
22
|
+
return VElement.bM_(node, virtualizeChildNodes, ownerComponent);
|
24
23
|
case 3:
|
25
24
|
return new VText(node.nodeValue, ownerComponent);
|
26
25
|
case 11:
|
@@ -30,7 +29,7 @@ function virtualize(node, ownerComponent) {
|
|
30
29
|
|
31
30
|
}
|
32
31
|
|
33
|
-
function virtualizeHTML(html,
|
32
|
+
function virtualizeHTML(html, ownerComponent) {
|
34
33
|
if (!specialHtmlRegexp.test(html)) {
|
35
34
|
return new VText(html, ownerComponent);
|
36
35
|
}
|
@@ -39,7 +38,7 @@ function virtualizeHTML(html, doc, ownerComponent) {
|
|
39
38
|
var curChild = parseHTML(html);
|
40
39
|
|
41
40
|
while (curChild) {
|
42
|
-
vdomFragment.
|
41
|
+
vdomFragment.bq_(virtualize(curChild, ownerComponent));
|
43
42
|
curChild = curChild.nextSibling;
|
44
43
|
}
|
45
44
|
|
@@ -61,17 +60,17 @@ Node_prototype.t = function (value) {
|
|
61
60
|
value = "";
|
62
61
|
} else if (type === "object") {
|
63
62
|
if (value.toHTML) {
|
64
|
-
vdomNode = virtualizeHTML(value.toHTML()
|
63
|
+
vdomNode = virtualizeHTML(value.toHTML());
|
65
64
|
}
|
66
65
|
}
|
67
66
|
}
|
68
67
|
|
69
|
-
this.
|
70
|
-
return this.
|
68
|
+
this.bq_(vdomNode || new VText(value.toString()));
|
69
|
+
return this.bJ_();
|
71
70
|
};
|
72
71
|
|
73
|
-
Node_prototype.
|
74
|
-
return this.
|
72
|
+
Node_prototype.bv_ = function () {
|
73
|
+
return this.bq_(new VDocumentFragment());
|
75
74
|
};
|
76
75
|
|
77
76
|
exports.ba_ = VDocumentFragment;
|
@@ -79,7 +78,6 @@ exports.b__ = VElement;
|
|
79
78
|
exports.bb_ = VText;
|
80
79
|
exports.bc_ = VComponent;
|
81
80
|
exports.bd_ = VFragment;
|
82
|
-
exports.
|
81
|
+
exports.bM_ = virtualize;
|
83
82
|
exports.be_ = virtualizeHTML;
|
84
|
-
exports.bf_ = defaultDocument;
|
85
83
|
//# sourceMappingURL=vdom.js.map
|
@@ -1 +1 @@
|
|
1
|
-
{"version":3,"sources":["../../../src/runtime/vdom/vdom.js"],"names":["VNode","require","VDocumentFragment","VElement","VText","VComponent","VFragment","parseHTML","
|
1
|
+
{"version":3,"sources":["../../../src/runtime/vdom/vdom.js"],"names":["VNode","require","VDocumentFragment","VElement","VText","VComponent","VFragment","parseHTML","specialHtmlRegexp","virtualizeChildNodes","node","vdomParent","ownerComponent","curChild","firstChild","virtualize","nextSibling","nodeType","nodeValue","vdomDocFragment","virtualizeHTML","html","test","vdomFragment","Node_prototype","prototype","t","value","type","vdomNode","toHTML","toString","exports"],"mappings":"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","sourcesContent":["var VNode = require(\"./VNode\");\nvar VDocumentFragment = require(\"./VDocumentFragment\");\nvar VElement = require(\"./VElement\");\nvar VText = require(\"./VText\");\nvar VComponent = require(\"./VComponent\");\nvar VFragment = require(\"./VFragment\");\nvar parseHTML = require(\"./parse-html\");\n\nvar specialHtmlRegexp = /[&<]/;\n\nfunction virtualizeChildNodes(node, vdomParent, ownerComponent) {\n var curChild = node.firstChild;\n while (curChild) {\n vdomParent.___appendChild(virtualize(curChild, ownerComponent));\n curChild = curChild.nextSibling;\n }\n}\n\nfunction virtualize(node, ownerComponent) {\n switch (node.nodeType) {\n case 1:\n return VElement.___virtualize(node, virtualizeChildNodes, ownerComponent);\n case 3:\n return new VText(node.nodeValue, ownerComponent);\n case 11:\n var vdomDocFragment = new VDocumentFragment();\n virtualizeChildNodes(node, vdomDocFragment, ownerComponent);\n return vdomDocFragment;\n }\n}\n\nfunction virtualizeHTML(html, ownerComponent) {\n if (!specialHtmlRegexp.test(html)) {\n return new VText(html, ownerComponent);\n }\n\n var vdomFragment = new VDocumentFragment();\n var curChild = parseHTML(html);\n\n while (curChild) {\n vdomFragment.___appendChild(virtualize(curChild, ownerComponent));\n curChild = curChild.nextSibling;\n }\n\n return vdomFragment;\n}\n\nvar Node_prototype = VNode.prototype;\n\n/**\n * Shorthand method for creating and appending a Text node with a given value\n * @param {String} value The text value for the new Text node\n */\nNode_prototype.t = function (value) {\n var type = typeof value;\n var vdomNode;\n\n if (type !== \"string\") {\n if (value == null) {\n value = \"\";\n } else if (type === \"object\") {\n if (value.toHTML) {\n vdomNode = virtualizeHTML(value.toHTML());\n }\n }\n }\n\n this.___appendChild(vdomNode || new VText(value.toString()));\n return this.___finishChild();\n};\n\nNode_prototype.___appendDocumentFragment = function () {\n return this.___appendChild(new VDocumentFragment());\n};\n\nexports.___VDocumentFragment = VDocumentFragment;\nexports.___VElement = VElement;\nexports.___VText = VText;\nexports.___VComponent = VComponent;\nexports.___VFragment = VFragment;\nexports.___virtualize = virtualize;\nexports.___virtualizeHTML = virtualizeHTML;\n"],"file":"vdom.js"}
|
package/package.json
CHANGED
@@ -1,11 +1,11 @@
|
|
1
1
|
{
|
2
2
|
"name": "marko",
|
3
|
-
"version": "5.
|
3
|
+
"version": "5.17.3",
|
4
4
|
"license": "MIT",
|
5
5
|
"description": "UI Components + streaming, async, high performance, HTML templating for Node.js and the browser.",
|
6
6
|
"dependencies": {
|
7
|
-
"@marko/compiler": "^5.
|
8
|
-
"@marko/translator-default": "^5.
|
7
|
+
"@marko/compiler": "^5.17.3",
|
8
|
+
"@marko/translator-default": "^5.17.3",
|
9
9
|
"app-module-path": "^2.2.0",
|
10
10
|
"argly": "^1.2.0",
|
11
11
|
"browser-refresh-client": "1.1.4",
|
@@ -72,5 +72,5 @@
|
|
72
72
|
"index.js",
|
73
73
|
"node-require.js"
|
74
74
|
],
|
75
|
-
"gitHead": "
|
75
|
+
"gitHead": "f2bb822be6e9b86c13223fba283f056748fe64c4"
|
76
76
|
}
|
@@ -1,6 +1,12 @@
|
|
1
1
|
var domInsert = require("./dom-insert");
|
2
2
|
var complain = "MARKO_DEBUG" && require("complain");
|
3
3
|
|
4
|
+
function getRootNode(el) {
|
5
|
+
var cur = el;
|
6
|
+
while (cur.parentNode) cur = cur.parentNode;
|
7
|
+
return cur;
|
8
|
+
}
|
9
|
+
|
4
10
|
function getComponentDefs(result) {
|
5
11
|
var componentDefs = result.___components;
|
6
12
|
|
@@ -40,19 +46,19 @@ var proto = (RenderResult.prototype = {
|
|
40
46
|
return components;
|
41
47
|
},
|
42
48
|
|
43
|
-
afterInsert: function (
|
49
|
+
afterInsert: function (host) {
|
44
50
|
var out = this.___out;
|
45
51
|
var componentsContext = out.___components;
|
46
52
|
if (componentsContext) {
|
47
|
-
this.___components = componentsContext.___initComponents(
|
53
|
+
this.___components = componentsContext.___initComponents(host);
|
48
54
|
} else {
|
49
55
|
this.___components = null;
|
50
56
|
}
|
51
57
|
|
52
58
|
return this;
|
53
59
|
},
|
54
|
-
getNode: function (
|
55
|
-
return this.___out.___getNode(
|
60
|
+
getNode: function (host) {
|
61
|
+
return this.___out.___getNode(host);
|
56
62
|
},
|
57
63
|
getOutput: function () {
|
58
64
|
return this.___out.___getOutput();
|
@@ -60,7 +66,7 @@ var proto = (RenderResult.prototype = {
|
|
60
66
|
toString: function () {
|
61
67
|
return this.___out.toString();
|
62
68
|
},
|
63
|
-
document: typeof
|
69
|
+
document: typeof window === "object" && document
|
64
70
|
});
|
65
71
|
|
66
72
|
Object.defineProperty(proto, "html", {
|
@@ -97,13 +103,9 @@ Object.defineProperty(proto, "context", {
|
|
97
103
|
domInsert(
|
98
104
|
proto,
|
99
105
|
function getEl(renderResult, referenceEl) {
|
100
|
-
return renderResult.getNode(referenceEl
|
106
|
+
return renderResult.getNode(getRootNode(referenceEl));
|
101
107
|
},
|
102
108
|
function afterInsert(renderResult, referenceEl) {
|
103
|
-
|
104
|
-
typeof ShadowRoot === "function" && referenceEl instanceof ShadowRoot;
|
105
|
-
return renderResult.afterInsert(
|
106
|
-
isShadow ? referenceEl : referenceEl.ownerDocument
|
107
|
-
);
|
109
|
+
return renderResult.afterInsert(getRootNode(referenceEl));
|
108
110
|
}
|
109
111
|
);
|