Revert "Merge pull request #15915 from filamentphp/upgrade-dompurify"

This reverts commit be2356cdbb, reversing
changes made to d30597ae69.
This commit is contained in:
Dan Harrin
2025-03-25 10:24:54 +00:00
parent be2356cdbb
commit 55db5d8641
12 changed files with 3849 additions and 5156 deletions
+2124 -2993
View File
File diff suppressed because it is too large Load Diff
+1 -1
View File
@@ -26,7 +26,7 @@
"chart.js": "^3.6.0",
"choices.js": "^10.1.0",
"dayjs": "^1.10.6",
"dompurify": "^3.2.4",
"dompurify": "^2.3.8",
"esbuild": "^0.8.57",
"filepond": "^4.28.2",
"filepond-plugin-file-validate-size": "^2.2.4",
+2 -4
View File
File diff suppressed because one or more lines are too long
+1 -1
View File
File diff suppressed because one or more lines are too long
+24 -33
View File
File diff suppressed because one or more lines are too long
+1 -1
View File
File diff suppressed because one or more lines are too long
+2 -2
View File
File diff suppressed because one or more lines are too long
+1 -1
View File
File diff suppressed because one or more lines are too long
+3 -3
View File
@@ -1,5 +1,5 @@
{
"/app.js": "/app.js?id=030a35130f088077fd34a79bdc5e5202",
"/echo.js": "/echo.js?id=6caca5d3442e4392d0ee1fa210994f0c",
"/app.css": "/app.css?id=095beaf2c99941aec8b232b848d55e42"
"/app.js": "/app.js?id=de109909e799e20eb15da26295309fa5",
"/echo.js": "/echo.js?id=19f331c9f76ec80cb5e5e344fef18d68",
"/app.css": "/app.css?id=ceb9a486dfc44ebe8adaa3bd510821e8"
}
+1 -2
View File
@@ -709,7 +709,6 @@
padding: 0;
margin: .25em;
will-change: transform, opacity;
touch-action: auto;
}
.filepond--item > .filepond--panel {
z-index: -1;
@@ -1045,7 +1044,7 @@
.filepond--root .filepond--credits {
position: absolute;
right: 0;
opacity: .4;
opacity: .175;
line-height: .85;
font-size: 11px;
color: inherit;
+1653 -2085
View File
File diff suppressed because it is too large Load Diff
+36 -30
View File
@@ -182,17 +182,21 @@ function stopObservingMutations() {
observer.disconnect();
currentlyObserving = false;
}
var queuedMutations = [];
var recordQueue = [];
var willProcessRecordQueue = false;
function flushObserver() {
let records = observer.takeRecords();
queuedMutations.push(() => records.length > 0 && onMutate(records));
let queueLengthWhenTriggered = queuedMutations.length;
queueMicrotask(() => {
if (queuedMutations.length === queueLengthWhenTriggered) {
while (queuedMutations.length > 0)
queuedMutations.shift()();
}
});
recordQueue = recordQueue.concat(observer.takeRecords());
if (recordQueue.length && !willProcessRecordQueue) {
willProcessRecordQueue = true;
queueMicrotask(() => {
processRecordQueue();
willProcessRecordQueue = false;
});
}
}
function processRecordQueue() {
onMutate(recordQueue);
recordQueue.length = 0;
}
function mutateDom(callback) {
if (!currentlyObserving)
@@ -210,31 +214,15 @@ function onMutate(mutations) {
return;
}
let addedNodes = [];
let removedNodes = new Set();
let removedNodes = [];
let addedAttributes = new Map();
let removedAttributes = new Map();
for (let i = 0; i < mutations.length; i++) {
if (mutations[i].target._x_ignoreMutationObserver)
continue;
if (mutations[i].type === "childList") {
mutations[i].removedNodes.forEach((node) => {
if (node.nodeType !== 1)
return;
if (!node._x_marker)
return;
removedNodes.add(node);
});
mutations[i].addedNodes.forEach((node) => {
if (node.nodeType !== 1)
return;
if (removedNodes.has(node)) {
removedNodes.delete(node);
return;
}
if (node._x_marker)
return;
addedNodes.push(node);
});
mutations[i].addedNodes.forEach((node) => node.nodeType === 1 && addedNodes.push(node));
mutations[i].removedNodes.forEach((node) => node.nodeType === 1 && removedNodes.push(node));
}
if (mutations[i].type === "attributes") {
let el = mutations[i].target;
@@ -267,15 +255,33 @@ function onMutate(mutations) {
onAttributeAddeds.forEach((i) => i(el, attrs));
});
for (let node of removedNodes) {
if (addedNodes.some((i) => i.contains(node)))
if (addedNodes.includes(node))
continue;
onElRemoveds.forEach((i) => i(node));
if (node._x_cleanups) {
while (node._x_cleanups.length)
node._x_cleanups.pop()();
}
}
addedNodes.forEach((node) => {
node._x_ignoreSelf = true;
node._x_ignore = true;
});
for (let node of addedNodes) {
if (removedNodes.includes(node))
continue;
if (!node.isConnected)
continue;
delete node._x_ignoreSelf;
delete node._x_ignore;
onElAddeds.forEach((i) => i(node));
node._x_ignore = true;
node._x_ignoreSelf = true;
}
addedNodes.forEach((node) => {
delete node._x_ignoreSelf;
delete node._x_ignore;
});
addedNodes = null;
removedNodes = null;
addedAttributes = null;