{"version":3,"file":"use-table-height.mjs","sources":["../../../../../packages/components/table-select/src/use-table-height.ts"],"sourcesContent":["import { onBeforeUnmount, onMounted, shallowRef, watch } from \"vue\"\nimport type { TableSelectProps } from \"./table-select\"\n\ninterface Options {\n  props: TableSelectProps\n}\nexport default function useTableHeight(options: Options) {\n  const { props } = options\n\n  /** 表格高度 */\n  const tableHeight = shallowRef('')\n\n  /** 搜索框 */\n  const searcherRef = shallowRef<HTMLElement>()\n\n  const calcTableHeight = () => {\n    const { api, pagination } = props\n    let acc = 0\n    // 有分页标签则加上分页的高度\n    if (api && pagination) {\n      acc += 28\n    }\n\n    if (searcherRef.value) {\n      acc += searcherRef.value.offsetHeight\n    }\n\n    tableHeight.value = `calc(100% - ${acc}px)`\n  }\n\n  const obs = new ResizeObserver(() => {\n    calcTableHeight()\n  })\n\n  watch(searcherRef, (searcher, oldSearcher) => {\n    oldSearcher && obs.unobserve(oldSearcher)\n    searcher && obs.observe(searcher)\n  })\n\n  onMounted(() => {\n    calcTableHeight()\n  })\n\n  onBeforeUnmount(() => {\n    obs.disconnect()\n  })\n\n\n  return {\n    tableHeight,\n    searcherRef\n  }\n}\n"],"names":[],"mappings":";;AAMA,SAAwB,eAAe,OAAkB,EAAA;AACvD,EAAM,MAAA,EAAE,OAAU,GAAA,OAAA,CAAA;AAGlB,EAAM,MAAA,WAAA,GAAc,WAAW,EAAE,CAAA,CAAA;AAGjC,EAAA,MAAM,cAAc,UAAwB,EAAA,CAAA;AAE5C,EAAA,MAAM,kBAAkB,MAAM;AAC5B,IAAM,MAAA,EAAE,GAAK,EAAA,UAAA,EAAe,GAAA,KAAA,CAAA;AAC5B,IAAA,IAAI,GAAM,GAAA,CAAA,CAAA;AAEV,IAAA,IAAI,OAAO,UAAY,EAAA;AACrB,MAAO,GAAA,IAAA,EAAA,CAAA;AAAA,KACT;AAEA,IAAA,IAAI,YAAY,KAAO,EAAA;AACrB,MAAA,GAAA,IAAO,YAAY,KAAM,CAAA,YAAA,CAAA;AAAA,KAC3B;AAEA,IAAA,WAAA,CAAY,QAAQ,CAAe,YAAA,EAAA,GAAA,CAAA,GAAA,CAAA,CAAA;AAAA,GACrC,CAAA;AAEA,EAAM,MAAA,GAAA,GAAM,IAAI,cAAA,CAAe,MAAM;AACnC,IAAgB,eAAA,EAAA,CAAA;AAAA,GACjB,CAAA,CAAA;AAED,EAAM,KAAA,CAAA,WAAA,EAAa,CAAC,QAAA,EAAU,WAAgB,KAAA;AAC5C,IAAe,WAAA,IAAA,GAAA,CAAI,UAAU,WAAW,CAAA,CAAA;AACxC,IAAY,QAAA,IAAA,GAAA,CAAI,QAAQ,QAAQ,CAAA,CAAA;AAAA,GACjC,CAAA,CAAA;AAED,EAAA,SAAA,CAAU,MAAM;AACd,IAAgB,eAAA,EAAA,CAAA;AAAA,GACjB,CAAA,CAAA;AAED,EAAA,eAAA,CAAgB,MAAM;AACpB,IAAA,GAAA,CAAI,UAAW,EAAA,CAAA;AAAA,GAChB,CAAA,CAAA;AAGD,EAAO,OAAA;AAAA,IACL,WAAA;AAAA,IACA,WAAA;AAAA,GACF,CAAA;AACF;;;;"}