UNPKG

element-plus

Version:

A Component Library for Vue 3

1 lines 2.7 kB
{"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":";;AACA,MAAM,aAAa,GAAG,SAAS,OAAO,EAAE;AACxC,EAAE,KAAK,MAAM,KAAK,IAAI,OAAO,EAAE;AAC/B,IAAI,MAAM,SAAS,GAAG,KAAK,CAAC,MAAM,CAAC,mBAAmB,IAAI,EAAE,CAAC;AAC7D,IAAI,IAAI,SAAS,CAAC,MAAM,EAAE;AAC1B,MAAM,SAAS,CAAC,OAAO,CAAC,CAAC,EAAE,KAAK;AAChC,QAAQ,EAAE,EAAE,CAAC;AACb,OAAO,CAAC,CAAC;AACT,KAAK;AACL,GAAG;AACH,CAAC,CAAC;AACU,MAAC,iBAAiB,GAAG,SAAS,OAAO,EAAE,EAAE,EAAE;AACvD,EAAE,IAAI,CAAC,QAAQ,IAAI,CAAC,OAAO;AAC3B,IAAI,OAAO;AACX,EAAE,IAAI,CAAC,OAAO,CAAC,mBAAmB,EAAE;AACpC,IAAI,OAAO,CAAC,mBAAmB,GAAG,EAAE,CAAC;AACrC,IAAI,OAAO,CAAC,MAAM,GAAG,IAAI,cAAc,CAAC,aAAa,CAAC,CAAC;AACvD,IAAI,OAAO,CAAC,MAAM,CAAC,OAAO,CAAC,OAAO,CAAC,CAAC;AACpC,GAAG;AACH,EAAE,OAAO,CAAC,mBAAmB,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;AACvC,EAAE;AACU,MAAC,oBAAoB,GAAG,SAAS,OAAO,EAAE,EAAE,EAAE;AAC1D,EAAE,IAAI,EAAE,CAAC;AACT,EAAE,IAAI,CAAC,OAAO,IAAI,CAAC,OAAO,CAAC,mBAAmB;AAC9C,IAAI,OAAO;AACX,EAAE,OAAO,CAAC,mBAAmB,CAAC,MAAM,CAAC,OAAO,CAAC,mBAAmB,CAAC,OAAO,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,CAAC;AACjF,EAAE,IAAI,CAAC,OAAO,CAAC,mBAAmB,CAAC,MAAM,EAAE;AAC3C,IAAI,CAAC,EAAE,GAAG,OAAO,CAAC,MAAM,KAAK,IAAI,GAAG,KAAK,CAAC,GAAG,EAAE,CAAC,UAAU,EAAE,CAAC;AAC7D,GAAG;AACH;;;;"}