wordOffsets = verseSpans => {
let array = [];
if (verseSpans == ``) return array;
let nodes = Array.from(verseSpans.children);
let initialTopOffset = null;
let differenceSoFar = 0;
nodes.forEach((node, index) => {
if (node.offsetLeft != undefined) {
if (initialTopOffset === null) initialTopOffset = node.offsetTop;
if (node.innerHTML.indexOf("<stanza>") != -1) {
differenceSoFar = node.offsetTop + node.offsetHeight;
return;
}
array.push([
pxToVw(node.offsetLeft),
pxToVw(initialTopOffset + (node.offsetTop - differenceSoFar))
]);
}
});
return array;
}