{"version":3,"file":"use-auto-resize.mjs","sources":["../../../../../../../packages/components/table-v2/src/composables/use-auto-resize.ts"],"sourcesContent":["import { onBeforeUnmount, onMounted, ref, watch } from 'vue'\nimport { useResizeObserver } from '@vueuse/core'\n\nimport type { AutoResizerProps } from '../auto-resizer'\n\nconst useAutoResize = (props: AutoResizerProps) => {\n  const sizer = ref<HTMLElement>()\n  const width$ = ref(0)\n  const height$ = ref(0)\n\n  let resizerStopper: ReturnType<typeof useResizeObserver>['stop']\n  onMounted(() => {\n    resizerStopper = useResizeObserver(sizer, ([entry]) => {\n      const { width, height } = entry.contentRect\n      const { paddingLeft, paddingRight, paddingTop, paddingBottom } =\n        getComputedStyle(entry.target)\n\n      const left = Number.parseInt(paddingLeft) || 0\n      const right = Number.parseInt(paddingRight) || 0\n      const top = Number.parseInt(paddingTop) || 0\n      const bottom = Number.parseInt(paddingBottom) || 0\n\n      width$.value = width - left - right\n      height$.value = height - top - bottom\n    }).stop\n  })\n\n  onBeforeUnmount(() => {\n    resizerStopper?.()\n  })\n\n  watch([width$, height$], ([width, height]) => {\n    props.onResize?.({\n      width,\n      height,\n    })\n  })\n\n  return {\n    sizer,\n    width: width$,\n    height: height$,\n  }\n}\n\nexport { useAutoResize }\n"],"names":[],"mappings":";;;AAKM,MAAA,aAAA,GAAgB,CAAC,KAA4B,KAAA;AACjD,EAAA,MAAM,QAAQ,GAAiB,EAAA,CAAA;AAC/B,EAAM,MAAA,MAAA,GAAS,IAAI,CAAC,CAAA,CAAA;AACpB,EAAM,MAAA,OAAA,GAAU,IAAI,CAAC,CAAA,CAAA;AAErB,EAAI,IAAA,cAAA,CAAA;AACJ,EAAA,SAAA,CAAU,MAAM;AACd,IAAA,cAAA,GAAiB,iBAAkB,CAAA,KAAA,EAAO,CAAC,CAAC,KAAK,CAAM,KAAA;AACrD,MAAA,MAAM,EAAE,KAAA,EAAO,MAAO,EAAA,GAAI,KAAM,CAAA,WAAA,CAAA;AAChC,MAAM,MAAA,EAAE,aAAa,YAAc,EAAA,UAAA,EAAY,eAC7C,GAAA,gBAAA,CAAiB,MAAM,MAAM,CAAA,CAAA;AAE/B,MAAA,MAAM,IAAO,GAAA,MAAA,CAAO,QAAS,CAAA,WAAW,CAAK,IAAA,CAAA,CAAA;AAC7C,MAAA,MAAM,KAAQ,GAAA,MAAA,CAAO,QAAS,CAAA,YAAY,CAAK,IAAA,CAAA,CAAA;AAC/C,MAAA,MAAM,GAAM,GAAA,MAAA,CAAO,QAAS,CAAA,UAAU,CAAK,IAAA,CAAA,CAAA;AAC3C,MAAA,MAAM,MAAS,GAAA,MAAA,CAAO,QAAS,CAAA,aAAa,CAAK,IAAA,CAAA,CAAA;AAEjD,MAAO,MAAA,CAAA,KAAA,GAAQ,QAAQ,IAAO,GAAA,KAAA,CAAA;AAC9B,MAAQ,OAAA,CAAA,KAAA,GAAQ,SAAS,GAAM,GAAA,MAAA,CAAA;AAAA,KAChC,CAAE,CAAA,IAAA,CAAA;AAAA,GACJ,CAAA,CAAA;AAED,EAAA,eAAA,CAAgB,MAAM;AACpB,IAAiB,cAAA,IAAA,CAAA;AAAA,GAClB,CAAA,CAAA;AAED,EAAM,KAAA,CAAA,CAAC,QAAQ,OAAO,CAAA,EAAG,CAAC,CAAC,KAAA,EAAO,MAAM,CAAM,KAAA;AAC5C,IAAA,KAAA,CAAM,QAAW,GAAA;AAAA,MACf,KAAA;AAAA,MACA,MAAA;AAAA,KACD,CAAA,CAAA;AAAA,GACF,CAAA,CAAA;AAED,EAAO,OAAA;AAAA,IACL,KAAA;AAAA,IACA,KAAO,EAAA,MAAA;AAAA,IACP,MAAQ,EAAA,OAAA;AAAA,GACV,CAAA;AACF;;;;"}