Files
v10/packages/utils/src/dom/shadow-dom.ts
T
2025-10-23 15:19:36 -07:00

13 lines
494 B
TypeScript

/**
* Utility function to check if a root node contains a child node across shadow DOM boundaries.
*/
export function containsComposedNode(rootNode: Node, childNode: Node): boolean {
if (!rootNode || !childNode) return false;
if (rootNode?.contains(childNode)) return true;
const childRootNode = childNode.getRootNode();
if (childRootNode && 'host' in childRootNode && childRootNode.host) {
return containsComposedNode(rootNode, childRootNode.host as Node);
}
return false;
}