diff --git a/.changeset/brave-experts-cheer.md b/.changeset/brave-experts-cheer.md new file mode 100644 index 0000000..825d384 --- /dev/null +++ b/.changeset/brave-experts-cheer.md @@ -0,0 +1,5 @@ +--- +"@primer/behaviors": patch +--- + +Update `anchored-position.ts` to support handling elements outside of `document.body` in `getClippingRect` diff --git a/src/anchored-position.ts b/src/anchored-position.ts index fbc67e7..ca7a5a3 100644 --- a/src/anchored-position.ts +++ b/src/anchored-position.ts @@ -207,7 +207,7 @@ function isOnTopLayer(element: Element) { function getClippingRect(element: Element): BoxPosition { let parentNode: typeof element.parentNode = element while (parentNode !== null) { - if (parentNode === document.body) { + if (!(parentNode instanceof Element)) { break } const parentNodeStyle = getComputedStyle(parentNode as Element)