Comparing version 6.0.0-next.3.23 to 6.0.0-next.3.24
@@ -313,3 +313,3 @@ "use strict"; | ||
if (handlersByElement.get(target)?.(ev, target), ev.bubbles) | ||
for (; (target = target.parentElement) && !ev.cancelBubble; ) | ||
for (; (target = target.parentNode) && !ev.cancelBubble; ) | ||
handlersByElement.get(target)?.(ev, target); | ||
@@ -640,12 +640,18 @@ } | ||
// src/dom/parse-html.ts | ||
var fallback = /* @__PURE__ */ document.createTextNode(""), parser = /* @__PURE__ */ new Range(); | ||
var fallback = /* @__PURE__ */ new Text(), parser = /* @__PURE__ */ document.createElement("template"); | ||
function parseHTML(html2) { | ||
return parser.createContextualFragment(html2); | ||
return parser.innerHTML = html2, parser.content; | ||
} | ||
function parseHTMLOrSingleNode(html2) { | ||
let content = parseHTML(html2); | ||
return content.firstChild ? content.firstChild === content.lastChild && // If the firstChild is a comment it's possible its | ||
// a single replaced node, in which case the walker can't replace | ||
// the node itself. | ||
content.firstChild.nodeType !== 8 ? content.firstChild : content : fallback; | ||
if (content.firstChild) { | ||
if (content.firstChild === content.lastChild && // If the firstChild is a comment it's possible its | ||
// a single replaced node, in which case the walker can't replace | ||
// the node itself. | ||
content.firstChild.nodeType !== 8) | ||
return content.firstChild; | ||
let fragment = new DocumentFragment(); | ||
return fragment.appendChild(content), fragment; | ||
} | ||
return fallback; | ||
} | ||
@@ -856,3 +862,3 @@ | ||
else { | ||
let newNode = scope[currentScopeIndex++] = document.createTextNode(""), current = walker.currentNode; | ||
let newNode = scope[currentScopeIndex++] = new Text(), current = walker.currentNode; | ||
current.parentNode.replaceChild(newNode, current), walker.currentNode = newNode; | ||
@@ -1312,2 +1318,5 @@ } | ||
switch (position) { | ||
case "beforebegin": | ||
reference.parentNode.insertBefore(dom, reference); | ||
break; | ||
case "afterbegin": | ||
@@ -1317,7 +1326,4 @@ reference.insertBefore(dom, reference.firstChild); | ||
case "afterend": | ||
reference.parentElement.insertBefore(dom, reference.nextSibling); | ||
reference.parentNode.insertBefore(dom, reference.nextSibling); | ||
break; | ||
case "beforebegin": | ||
reference.parentElement.insertBefore(dom, reference); | ||
break; | ||
default: | ||
@@ -1324,0 +1330,0 @@ reference.appendChild(dom); |
export declare function parseHTML(html: string): DocumentFragment; | ||
export declare function parseHTMLOrSingleNode(html: string): Text | (Node & { | ||
firstChild?: ChildNode; | ||
lastChild?: ChildNode; | ||
}); | ||
export declare function parseHTMLOrSingleNode(html: string): ChildNode | DocumentFragment; |
{ | ||
"name": "marko", | ||
"version": "6.0.0-next.3.23", | ||
"version": "6.0.0-next.3.24", | ||
"description": "Optimized runtime for Marko templates.", | ||
@@ -5,0 +5,0 @@ "keywords": [ |
Sorry, the diff of this file is too big to display
Sorry, the diff of this file is not supported yet
Sorry, the diff of this file is not supported yet
1092257
31071