|
|
@@ -1072,7 +1072,7 @@ this.SingleFileCore = this.SingleFileCore || (() => {
|
|
|
if (this.options.shadowRootsData && this.options.shadowRootsData.length) {
|
|
|
await processRootElement(this.doc);
|
|
|
const scriptElement = rootDoc.createElement("script");
|
|
|
- scriptElement.textContent = `processNode(document);function processNode(node){node.querySelectorAll("[${WC_ATTRIBUTE_NAME}]").forEach(element=>{const shadowRoot=element.previousElementSibling.attachShadow({mode:"open"});shadowRoot.innerHTML=element.innerHTML;element.remove();processNode(shadowRoot)})}`;
|
|
|
+ scriptElement.textContent = `processNode(document);function processNode(node){node.querySelectorAll("[${WC_ATTRIBUTE_NAME}]").forEach(element=>{const shadowRoot=element.parentElement.attachShadow({mode:"open"});shadowRoot.innerHTML=element.innerHTML;element.remove();processNode(shadowRoot)})}`;
|
|
|
this.doc.body.appendChild(scriptElement);
|
|
|
}
|
|
|
|
|
|
@@ -1101,7 +1101,11 @@ this.SingleFileCore = this.SingleFileCore || (() => {
|
|
|
doc.body.childNodes.forEach(node => templateElement.appendChild(doc.importNode(node, true)));
|
|
|
}
|
|
|
await processRootElement(templateElement);
|
|
|
- element.insertAdjacentElement("afterend", templateElement);
|
|
|
+ if (element.firstChild) {
|
|
|
+ element.insertBefore(templateElement, element.firstChild);
|
|
|
+ } else {
|
|
|
+ element.appendChild(templateElement);
|
|
|
+ }
|
|
|
} else {
|
|
|
stats.add("discarded", "shadow root elements", 1);
|
|
|
}
|