{"version":3,"file":"use-auto-resize.mjs","names":[],"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"],"mappings":";;;AAKA,MAAM,iBAAiB,UAA4B;CACjD,MAAM,QAAQ,IAAiB;CAC/B,MAAM,SAAS,IAAI,CAAC;CACpB,MAAM,UAAU,IAAI,CAAC;CAErB,IAAI;CACJ,gBAAgB;EACd,iBAAiB,kBAAkB,QAAQ,CAAC,WAAW;GACrD,MAAM,EAAE,OAAO,WAAW,MAAM;GAChC,MAAM,EAAE,aAAa,cAAc,YAAY,kBAC7C,iBAAiB,MAAM,MAAM;GAE/B,MAAM,OAAO,OAAO,SAAS,WAAW,KAAK;GAC7C,MAAM,QAAQ,OAAO,SAAS,YAAY,KAAK;GAC/C,MAAM,MAAM,OAAO,SAAS,UAAU,KAAK;GAC3C,MAAM,SAAS,OAAO,SAAS,aAAa,KAAK;GAEjD,OAAO,QAAQ,QAAQ,OAAO;GAC9B,QAAQ,QAAQ,SAAS,MAAM;EACjC,CAAC,CAAC,CAAC;CACL,CAAC;CAED,sBAAsB;EACpB,iBAAiB;CACnB,CAAC;CAED,MAAM,CAAC,QAAQ,OAAO,IAAI,CAAC,OAAO,YAAY;EAC5C,MAAM,WAAW;GACf;GACA;EACF,CAAC;CACH,CAAC;CAED,OAAO;EACL;EACA,OAAO;EACP,QAAQ;CACV;AACF"}