feat: responsive popovers & menus (#1323)

This commit is contained in:
Aman Harwara
2022-07-21 02:20:14 +05:30
committed by GitHub
parent baf7fb0019
commit 2573407851
44 changed files with 1308 additions and 1415 deletions

View File

@@ -0,0 +1,25 @@
import { useEffect, useState } from 'react'
const DebounceTimeInMs = 100
export const useDocumentRect = (): DOMRect => {
const [documentRect, setDocumentRect] = useState<DOMRect>(document.documentElement.getBoundingClientRect())
useEffect(() => {
let debounceTimeout: number
const handleWindowResize = () => {
window.clearTimeout(debounceTimeout)
window.setTimeout(() => {
setDocumentRect(document.documentElement.getBoundingClientRect())
}, DebounceTimeInMs)
}
window.addEventListener('resize', handleWindowResize)
return () => window.removeEventListener('resize', handleWindowResize)
}, [])
return documentRect
}