{"version":3,"file":"useResizeObserver.cjs","sources":["../../../../src/internal/hooks/useResizeObserver.ts"],"sourcesContent":["import {useSafeLayoutEffect} from './useSafeLayoutEffect.ts';\n\n/** Triggers callback when the element resizes */\nexport const useResizeObserver = <TElement extends HTMLElement>(\n    element: TElement | null | undefined,\n    onResize: (element?: TElement | null) => void\n) => {\n    useSafeLayoutEffect(() => {\n        const handleResize = () => {\n            onResize(element);\n        };\n\n        if (element) {\n            const observer = new ResizeObserver(handleResize);\n            observer.observe(element);\n            return () => {\n                observer.disconnect();\n            };\n        }\n    }, [onResize, element]);\n};\n"],"names":["useResizeObserver","element","onResize","useSafeLayoutEffect","handleResize","observer"],"mappings":"0IAGaA,EAAoB,CAC7BC,EACAC,IACC,CACDC,EAAAA,oBAAoB,IAAM,CACtB,MAAMC,EAAe,IAAM,CACvBF,EAASD,CAAO,CACpB,EAEA,GAAIA,EAAS,CACH,MAAAI,EAAW,IAAI,eAAeD,CAAY,EAChD,OAAAC,EAAS,QAAQJ,CAAO,EACjB,IAAM,CACTI,EAAS,WAAW,CACxB,CAAA,CACJ,EACD,CAACH,EAAUD,CAAO,CAAC,CAC1B"}