{"version":3,"file":"index.mjs","sources":["../../../../../packages/directives/resize/index.ts"],"sourcesContent":["import {\r\n  addResizeListener,\r\n  removeResizeListener,\r\n} from '@sgui-plus/utils/resize-event'\r\n\r\nimport type { ObjectDirective, DirectiveBinding } from 'vue'\r\n\r\ndeclare interface ResizeEl extends HTMLElement {\r\n  _handleResize?: () => void\r\n}\r\n\r\nconst Resize: ObjectDirective = {\r\n  beforeMount(el: ResizeEl, binding: DirectiveBinding) {\r\n    el._handleResize = () => {\r\n      el && binding.value?.(el)\r\n    }\r\n    addResizeListener(el, el._handleResize)\r\n  },\r\n  beforeUnmount(el: ResizeEl) {\r\n    removeResizeListener(el, el._handleResize!)\r\n  },\r\n}\r\n\r\nexport default Resize\r\n"],"names":[],"mappings":";;AAIK,MAAC,MAAM,GAAG;AACf,EAAE,WAAW,CAAC,EAAE,EAAE,OAAO,EAAE;AAC3B,IAAI,EAAE,CAAC,aAAa,GAAG,MAAM;AAC7B,MAAM,IAAI,EAAE,CAAC;AACb,MAAM,EAAE,KAAK,CAAC,EAAE,GAAG,OAAO,CAAC,KAAK,KAAK,IAAI,GAAG,KAAK,CAAC,GAAG,EAAE,CAAC,IAAI,CAAC,OAAO,EAAE,EAAE,CAAC,CAAC,CAAC;AAC3E,KAAK,CAAC;AACN,IAAI,iBAAiB,CAAC,EAAE,EAAE,EAAE,CAAC,aAAa,CAAC,CAAC;AAC5C,GAAG;AACH,EAAE,aAAa,CAAC,EAAE,EAAE;AACpB,IAAI,oBAAoB,CAAC,EAAE,EAAE,EAAE,CAAC,aAAa,CAAC,CAAC;AAC/C,GAAG;AACH;;;;"}