{"version":3,"sources":["../../src/use-resize-observer/index.ts"],"sourcesContent":["import { useWebObserver } from '../use-web-observer'\n\nimport type { Pausable } from '../use-pausable'\nimport type { ElementTarget } from '../use-target-element'\nimport type { UseWebObserverOptions, UseWebObserverReturns } from '../use-web-observer'\n\nexport interface UseResizeObserverOptions extends UseWebObserverOptions, ResizeObserverOptions {\n  /** @defaultValue 'content-box' */\n  box?: ResizeObserverBoxOptions\n}\n\nexport interface UseResizeObserverReturns extends Pausable, UseWebObserverReturns<ResizeObserver> {}\n\n/**\n * A React Hook that helps to use [ResizeObserver API](https://developer.mozilla.org/en-US/docs/Web/API/ResizeObserver) to observe the size changes of an element.\n */\nexport function useResizeObserver<T extends HTMLElement>(\n  target: ElementTarget<T>,\n  callback: ResizeObserverCallback,\n  options: UseResizeObserverOptions = {},\n): UseResizeObserverReturns {\n  const { immediate = true, ...observerOptions } = options\n  return useWebObserver('ResizeObserver', target, callback, { immediate }, undefined, observerOptions)\n}\n"],"names":["useResizeObserver","target","callback","options","immediate","observerOptions","useWebObserver","undefined"],"mappings":";;;;+BAgBgBA;;;eAAAA;;;8BAhBe;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAgBxB,SAASA,kBACdC,MAAwB,EACxBC,QAAgC;QAChCC,UAAAA,iEAAoC,CAAC;IAErC,yBAAiDA,QAAzCC,WAAAA,4CAAY,2BAASC,6CAAoBF;;;IACjD,OAAOG,IAAAA,8BAAc,EAAC,kBAAkBL,QAAQC,UAAU;QAAEE,WAAAA;IAAU,GAAGG,WAAWF;AACtF"}