diff options
Diffstat (limited to 'apps/web/src/utils/browser.ts')
| -rw-r--r-- | apps/web/src/utils/browser.ts | 14 |
1 files changed, 14 insertions, 0 deletions
diff --git a/apps/web/src/utils/browser.ts b/apps/web/src/utils/browser.ts index cfd3b31b..bfe69b11 100644 --- a/apps/web/src/utils/browser.ts +++ b/apps/web/src/utils/browser.ts @@ -15,6 +15,20 @@ export function downloadBlob({ URL.revokeObjectURL(url); } +export function findScrollParent({ + element, +}: { + element: HTMLElement; +}): HTMLElement | null { + let parent = element.parentElement; + while (parent) { + const { overflow, overflowX } = window.getComputedStyle(parent); + if (/auto|scroll/.test(overflow + overflowX)) return parent; + parent = parent.parentElement; + } + return null; +} + export function isTypableDOMElement({ element, }: { |
