Skip to content

Commit

Permalink
alpinejs: Patch for mutator body removal
Browse files Browse the repository at this point in the history
  • Loading branch information
bep committed Oct 12, 2021
1 parent 4f6e187 commit 25550c6
Show file tree
Hide file tree
Showing 170 changed files with 30,292 additions and 106 deletions.
7 changes: 7 additions & 0 deletions alpinejs/packages/alpinejs/builds/cdn.js
Original file line number Diff line number Diff line change
@@ -0,0 +1,7 @@
import Alpine from './../src/index'

window.Alpine = Alpine

queueMicrotask(() => {
Alpine.start()
})
3 changes: 3 additions & 0 deletions alpinejs/packages/alpinejs/builds/module.js
Original file line number Diff line number Diff line change
@@ -0,0 +1,3 @@
import Alpine from './../src/index'

export default Alpine
42 changes: 25 additions & 17 deletions alpinejs/packages/alpinejs/dist/cdn.js
Original file line number Diff line number Diff line change
Expand Up @@ -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 = [];
Expand Down Expand Up @@ -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;
Expand Down Expand Up @@ -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);
Expand Down
4 changes: 2 additions & 2 deletions alpinejs/packages/alpinejs/dist/cdn.min.js

Large diffs are not rendered by default.

Loading

0 comments on commit 25550c6

Please sign in to comment.