diff options
Diffstat (limited to 'alpinejs/packages/csp/dist/cdn.js')
-rw-r--r-- | alpinejs/packages/csp/dist/cdn.js | 42 |
1 files changed, 25 insertions, 17 deletions
diff --git a/alpinejs/packages/csp/dist/cdn.js b/alpinejs/packages/csp/dist/cdn.js index 643dd65..eb1dd85 100644 --- a/alpinejs/packages/csp/dist/cdn.js +++ b/alpinejs/packages/csp/dist/cdn.js @@ -77,6 +77,23 @@ }]; } + // packages/alpinejs/src/utils/walk.js + function walk(el, callback) { + if (typeof ShadowRoot === "function" && el instanceof ShadowRoot) { + Array.from(el.children).forEach((el2) => walk(el2, callback)); + return; + } + let skip = false; + callback(el, () => skip = true); + if (skip) + return; + let node = el.firstElementChild; + while (node) { + walk(node, callback, false); + node = node.nextElementSibling; + } + } + // packages/alpinejs/src/mutation.js var onAttributeAddeds = []; var onElRemoveds = []; @@ -207,6 +224,14 @@ if (addedNodes.includes(node)) continue; onElRemoveds.forEach((i) => i(node)); + if (node.localName === "body") { + node.querySelectorAll("[x-data]").forEach((el) => { + walk(el, (el2) => { + onElRemoveds.forEach((i) => i(el2)); + el2.remove(); + }); + }); + } } addedNodes = null; removedNodes = null; @@ -617,23 +642,6 @@ Expression: "${expression}" isHolding = true; } - // packages/alpinejs/src/utils/walk.js - function walk(el, callback) { - if (typeof ShadowRoot === "function" && el instanceof ShadowRoot) { - Array.from(el.children).forEach((el2) => walk(el2, callback)); - return; - } - let skip = false; - callback(el, () => skip = true); - if (skip) - return; - let node = el.firstElementChild; - while (node) { - walk(node, callback, false); - node = node.nextElementSibling; - } - } - // packages/alpinejs/src/utils/warn.js function warn(message, ...args) { console.warn(`Alpine Warning: ${message}`, ...args); |