Fix: selections inside FILTER_SKIP wrappers must preserve offsets (#101)

This commit is contained in:
fondoger
2026-03-05 05:45:31 +00:00
committed by GitHub
parent 675fdafeeb
commit b74d50e6d4
2 changed files with 49 additions and 1 deletions
+5 -1
View File
@@ -258,7 +258,11 @@ const partsToNode = (node, parts, filter) => {
}
const nodeToParts = (node, offset, filter) => {
const { parentNode, id } = node
let { id, parentNode } = node
while (filter && parentNode
&& parentNode !== node.ownerDocument.documentElement
&& filter(parentNode) === NodeFilter.FILTER_SKIP)
parentNode = parentNode.parentNode
const indexed = indexChildNodes(parentNode, filter)
const index = indexed.findIndex(x =>
Array.isArray(x) ? x.some(x => x === node) : x === node)