Move useResizeObserver into features/preview (#5188)

GitOrigin-RevId: c12dfc30b07e4a214990b7e80ce11364edb6137a
This commit is contained in:
Alf Eaton
2021-09-24 08:04:28 +00:00
committed by Copybot
parent 233ceb5356
commit c5c727f552
3 changed files with 2 additions and 2 deletions
@@ -1,36 +0,0 @@
import { useLayoutEffect, useRef, useCallback } from 'react'
function useResizeObserver(observedElement, observedData, callback) {
const resizeObserver = useRef()
const observe = useCallback(() => {
resizeObserver.current = new ResizeObserver(function (elementsObserved) {
callback(elementsObserved[0])
})
}, [callback])
function unobserve(observedCurrent) {
resizeObserver.current.unobserve(observedCurrent)
}
useLayoutEffect(() => {
if ('ResizeObserver' in window) {
const observedCurrent = observedElement && observedElement.current
if (observedCurrent) {
observe(observedElement.current)
}
if (resizeObserver.current && observedCurrent) {
resizeObserver.current.observe(observedCurrent)
}
return () => {
if (observedCurrent) {
unobserve(observedCurrent)
}
}
}
}, [observedElement, observedData, observe])
}
export default useResizeObserver