@sanity/desk-tool
Version:
Tool for managing all sorts of content in a structured manner
25 lines (24 loc) • 543 B
JavaScript
;
Object.defineProperty(exports, "__esModule", {
value: true
});
exports._getDOMPath = _getDOMPath;
/**
* @internal
*/
function _getDOMPath(rootElement, el) {
var path = [];
var e = el;
while (e !== rootElement) {
var parentElement = e.parentElement;
if (!parentElement) return path;
var children = Array.from(parentElement.childNodes);
var index = children.indexOf(e);
path.unshift(index);
if (parentElement === rootElement) {
return path;
}
e = parentElement;
}
return path;
}