Outlook_Addin_LLM/node_modules/@fluentui/react-utilities/lib-commonjs/virtualParent/getParent.js

34 lines
900 B
JavaScript
Raw Permalink Normal View History

"use strict";
Object.defineProperty(exports, "__esModule", {
value: true
});
Object.defineProperty(exports, "getParent", {
enumerable: true,
get: function() {
return getParent;
}
});
const _isVirtualElement = require("./isVirtualElement");
/**
* Gets the virtual parent given the child element, if it exists.
* @internal
*/ function getVirtualParent(child) {
return (0, _isVirtualElement.isVirtualElement)(child) ? child._virtual.parent || null : null;
}
function getParent(child, options = {}) {
if (!child) {
return null;
}
if (!options.skipVirtual) {
const virtualParent = getVirtualParent(child);
if (virtualParent) {
return virtualParent;
}
}
const parent = child.parentNode;
if (parent && parent.nodeType === Node.DOCUMENT_FRAGMENT_NODE) {
return parent.host;
}
return parent;
}