{"version":3,"file":"resize-event.mjs","sources":["../../../../packages/utils/dom/resize-event.ts"],"sourcesContent":["import { isClient } from '@vueuse/core'\n\nimport type { HTMLElementCustomized } from '../typescript'\n\nexport type ResizableElement = HTMLElementCustomized<{\n  __resizeListeners__?: Array<(...args: unknown[]) => unknown>\n  __ro__?: ResizeObserver\n}>\n\nconst resizeHandler = function (entries: ResizeObserverEntry[]) {\n  for (const entry of entries) {\n    const listeners =\n      (entry.target as ResizableElement).__resizeListeners__ || []\n    if (listeners.length) {\n      listeners.forEach((fn) => {\n        fn()\n      })\n    }\n  }\n}\n\n/** @deprecated use `useResizeObserver` or `useElementSize` in vueuse */\nexport const addResizeListener = function (\n  element: ResizableElement,\n  fn: (...args: unknown[]) => unknown\n): void {\n  if (!isClient || !element) return\n  if (!element.__resizeListeners__) {\n    element.__resizeListeners__ = []\n    element.__ro__ = new ResizeObserver(resizeHandler)\n    element.__ro__.observe(element)\n  }\n  element.__resizeListeners__.push(fn)\n}\n\n/** @deprecated use `useResizeObserver` or `useElementSize` in vueuse */\nexport const removeResizeListener = function (\n  element: ResizableElement,\n  fn: (...args: unknown[]) => unknown\n): void {\n  if (!element || !element.__resizeListeners__) return\n  element.__resizeListeners__.splice(element.__resizeListeners__.indexOf(fn), 1)\n  if (!element.__resizeListeners__.length) {\n    element.__ro__?.disconnect()\n  }\n}\n"],"names":[],"mappings":";;AASA,MAAM,aAAA,GAAgB,SAAU,OAAgC,EAAA;AAC9D,EAAA,KAAA,MAAW,SAAS,OAAS,EAAA;AAC3B,IAAA,MAAM,SACH,GAAA,KAAA,CAAM,MAA4B,CAAA,mBAAA,IAAuB,EAAC,CAAA;AAC7D,IAAA,IAAI,UAAU,MAAQ,EAAA;AACpB,MAAU,SAAA,CAAA,OAAA,CAAQ,CAAC,EAAO,KAAA;AACxB,QAAG,EAAA,EAAA,CAAA;AAAA,OACJ,CAAA,CAAA;AAAA,KACH;AAAA,GACF;AACF,CAAA,CAAA;AAGa,MAAA,iBAAA,GAAoB,SAC/B,OAAA,EACA,EACM,EAAA;AACN,EAAI,IAAA,CAAC,YAAY,CAAC,OAAA;AAAS,IAAA,OAAA;AAC3B,EAAI,IAAA,CAAC,QAAQ,mBAAqB,EAAA;AAChC,IAAA,OAAA,CAAQ,sBAAsB,EAAC,CAAA;AAC/B,IAAQ,OAAA,CAAA,MAAA,GAAS,IAAI,cAAA,CAAe,aAAa,CAAA,CAAA;AACjD,IAAQ,OAAA,CAAA,MAAA,CAAO,QAAQ,OAAO,CAAA,CAAA;AAAA,GAChC;AACA,EAAQ,OAAA,CAAA,mBAAA,CAAoB,KAAK,EAAE,CAAA,CAAA;AACrC,EAAA;AAGa,MAAA,oBAAA,GAAuB,SAClC,OAAA,EACA,EACM,EAAA;AAvCR,EAAA,IAAA,EAAA,CAAA;AAwCE,EAAI,IAAA,CAAC,OAAW,IAAA,CAAC,OAAQ,CAAA,mBAAA;AAAqB,IAAA,OAAA;AAC9C,EAAA,OAAA,CAAQ,oBAAoB,MAAO,CAAA,OAAA,CAAQ,oBAAoB,OAAQ,CAAA,EAAE,GAAG,CAAC,CAAA,CAAA;AAC7E,EAAI,IAAA,CAAC,OAAQ,CAAA,mBAAA,CAAoB,MAAQ,EAAA;AACvC,IAAA,CAAA,EAAA,GAAA,OAAA,CAAQ,WAAR,IAAgB,GAAA,KAAA,CAAA,GAAA,EAAA,CAAA,UAAA,EAAA,CAAA;AAAA,GAClB;AACF;;;;"}