{"version":3,"file":"index.mjs","sources":["../../../../packages/directives/resize/index.ts"],"sourcesContent":["import { addResizeListener, removeResizeListener } from '@element-ultra/utils'\n\nimport type { ObjectDirective, DirectiveBinding } from 'vue'\n\ndeclare interface ResizeEl extends HTMLElement {\n  _handleResize?: () => void\n}\n\nconst Resize: ObjectDirective = {\n  beforeMount(el: ResizeEl, binding: DirectiveBinding) {\n    el._handleResize = () => {\n      el && binding.value?.(el)\n    }\n    addResizeListener(el, el._handleResize)\n  },\n  beforeUnmount(el: ResizeEl) {\n    removeResizeListener(el, el._handleResize)\n  },\n}\n\nexport default Resize\n"],"names":[],"mappings":";;;AAQA,MAAM,MAA0B,GAAA;AAAA,EAC9B,WAAA,CAAY,IAAc,OAA2B,EAAA;AACnD,IAAA,EAAA,CAAG,gBAAgB,MAAM;AAV7B,MAAA,IAAA,EAAA,CAAA;AAWM,MAAM,EAAA,KAAA,CAAA,EAAA,GAAA,OAAA,CAAQ,UAAR,IAAgB,GAAA,KAAA,CAAA,GAAA,EAAA,CAAA,IAAA,CAAA,OAAA,EAAA,EAAA,CAAA,CAAA,CAAA;AAAA,KACxB,CAAA;AACA,IAAkB,iBAAA,CAAA,EAAA,EAAI,GAAG,aAAa,CAAA,CAAA;AAAA,GACxC;AAAA,EACA,cAAc,EAAc,EAAA;AAC1B,IAAqB,oBAAA,CAAA,EAAA,EAAI,GAAG,aAAa,CAAA,CAAA;AAAA,GAC3C;AACF;;;;"}