{"version":3,"file":"base-table.mjs","sources":["../../../components/table/base-table.tsx"],"sourcesContent":["import { computed, defineComponent, SetupContext, ref, nextTick, PropType, watch, onMounted, toRefs } from 'vue';\nimport { pick } from 'lodash-es';\nimport { get } from 'lodash-es';\nimport props from './base-table-props';\nimport useTableHeader from './hooks/useTableHeader';\nimport useColumnResize from './hooks/useColumnResize';\nimport useFixed from './hooks/useFixed';\nimport usePagination from './hooks/usePagination';\nimport useVirtualScrollNew from '../hooks/useVirtualScrollNew';\nimport useAffix from './hooks/useAffix';\nimport Loading from '../loading';\nimport TBody, { extendTableProps } from './tbody';\nimport { BaseTableProps } from './interface';\nimport { useTNodeJSX } from '../hooks/tnode';\nimport useStyle, { formatCSSUnit } from './hooks/useStyle';\nimport useClassName from './hooks/useClassName';\nimport { useConfig } from '../hooks/useConfig';\nimport { Affix } from '../affix';\nimport { ROW_LISTENERS } from './tr';\nimport THead from './thead';\nimport TFoot from './tfoot';\nimport { getAffixProps } from './utils';\nimport { Styles, ComponentScrollToElementParams } from '../common';\nimport { getIEVersion } from '@tdesign/common-js/utils/helper';\nimport { BaseTableInstanceFunctions } from './type';\nimport log from '@tdesign/common-js/log/index';\nimport { useRowHighlight } from './hooks/useRowHighlight';\nimport useHoverKeyboardEvent from './hooks/useHoverKeyboardEvent';\nimport useElementLazyRender from '../hooks/useElementLazyRender';\nimport { isFunction } from 'lodash-es';\nimport { throttle } from 'lodash-es';\n\nexport const BASE_TABLE_EVENTS = ['page-change', 'cell-click', 'scroll', 'scrollX', 'scrollY'];\nexport const BASE_TABLE_ALL_EVENTS = ROW_LISTENERS.map((t) => `row-${t}`).concat(BASE_TABLE_EVENTS);\n\nexport interface TableListeners {\n  [key: string]: Function;\n}\n\nexport default defineComponent({\n  name: 'TBaseTable',\n\n  props: {\n    ...props,\n    /**\n     * 渲染展开行，非公开属性，请勿在业务中使用\n     */\n    renderExpandedRow: Function as PropType<BaseTableProps['renderExpandedRow']>,\n    onLeafColumnsChange: Function as PropType<BaseTableProps['onLeafColumnsChange']>,\n    thDraggable: Boolean,\n  },\n\n  emits: ['show-element-change'],\n\n  setup(props: BaseTableProps, context: SetupContext) {\n    const { lazyLoad } = toRefs(props);\n    const renderTNode = useTNodeJSX();\n    const tableRef = ref<HTMLDivElement>();\n    const tableElmRef = ref<HTMLTableElement>();\n    const tableBodyRef = ref<InstanceType<typeof TBody>>();\n    const bottomContentRef = ref<HTMLDivElement>();\n    const tableFootHeight = ref(0);\n    const { classPrefix, virtualScrollClasses, tableLayoutClasses, tableBaseClass, tableColFixedClasses } =\n      useClassName();\n    // 表格基础样式类\n    const { tableClasses, sizeClassNames, tableContentStyles, tableElementStyles } = useStyle(props);\n    const { globalConfig } = useConfig('table', props.locale);\n    const { isMultipleHeader, spansAndLeafNodes, thList } = useTableHeader(props);\n    const finalColumns = computed(() => spansAndLeafNodes.value?.leafColumns || props.columns);\n    const tableSize = computed(() => props.size ?? globalConfig.value.size);\n\n    const { showElement } = useElementLazyRender(tableRef, lazyLoad);\n\n    // 吸附相关ref 用来做视图resize后重新定位\n    const paginationAffixRef = ref();\n    const horizontalScrollAffixRef = ref();\n    const headerTopAffixRef = ref();\n    const footerBottomAffixRef = ref();\n\n    // 固定表头和固定列逻辑\n    const {\n      scrollbarWidth,\n      virtualScrollHeaderPos,\n      tableWidth,\n      tableElmWidth,\n      tableContentRef,\n      isFixedHeader,\n      isWidthOverflow,\n      isFixedColumn,\n      thWidthList,\n      showColumnShadow,\n      rowAndColFixedPosition,\n      setData,\n      refreshTable,\n      setTableElmWidth,\n      emitScrollEvent,\n      setUseFixedTableElmRef,\n      updateColumnFixedShadow,\n      getThWidthList,\n      updateThWidthList,\n      addTableResizeObserver,\n      updateTableAfterColumnResize,\n    } = useFixed(props, context, finalColumns, {\n      paginationAffixRef,\n      horizontalScrollAffixRef,\n      headerTopAffixRef,\n      footerBottomAffixRef,\n    });\n\n    // 1. 表头吸顶；2. 表尾吸底；3. 底部滚动条吸底；4. 分页器吸底\n    const {\n      affixHeaderRef,\n      affixFooterRef,\n      horizontalScrollbarRef,\n      paginationRef,\n      showAffixHeader,\n      showAffixFooter,\n      showAffixPagination,\n      onHorizontalScroll,\n      setTableContentRef,\n      updateAffixHeaderOrFooter,\n    } = useAffix(props);\n\n    const { dataSource, innerPagination, isPaginateData, renderPagination } = usePagination(props, context);\n\n    // 列宽拖拽逻辑\n    const columnResizeParams = useColumnResize({\n      isWidthOverflow,\n      tableContentRef,\n      showColumnShadow,\n      getThWidthList,\n      updateThWidthList,\n      setTableElmWidth,\n      updateTableAfterColumnResize,\n      onColumnResizeChange: props.onColumnResizeChange,\n    });\n    const { resizeLineRef, resizeLineStyle, setEffectColMap } = columnResizeParams;\n\n    const dynamicBaseTableClasses = computed(() => [\n      tableClasses.value,\n      {\n        [tableBaseClass.headerFixed]: isFixedHeader.value,\n        [tableBaseClass.columnFixed]: isFixedColumn.value,\n        [tableBaseClass.widthOverflow]: isWidthOverflow.value,\n        [tableBaseClass.multipleHeader]: isMultipleHeader.value,\n        [tableColFixedClasses.leftShadow]: showColumnShadow.left,\n        [tableColFixedClasses.rightShadow]: showColumnShadow.right,\n        [tableBaseClass.columnResizableTable]: props.resizable,\n        [`${classPrefix}-table__row--active-${props.activeRowType}`]: props.activeRowType,\n      },\n    ]);\n\n    const tableElmClasses = computed(() => [[tableLayoutClasses[props.tableLayout]]]);\n\n    const showRightDivider = computed(\n      () =>\n        props.bordered &&\n        isFixedHeader.value &&\n        ((isMultipleHeader.value && isWidthOverflow.value) || !isMultipleHeader.value),\n    );\n\n    const dividerBottom = computed(() => {\n      if (!props.bordered) return 0;\n      const bottomRect = bottomContentRef.value?.getBoundingClientRect();\n      const paginationRect = paginationRef.value?.getBoundingClientRect();\n      return (bottomRect?.height || 0) + (paginationRect?.height || 0);\n    });\n\n    // 行高亮\n    const { tActiveRow, onHighlightRow, addHighlightKeyboardListener, removeHighlightKeyboardListener } =\n      useRowHighlight(props, tableRef);\n\n    const {\n      hoverRow,\n      needKeyboardRowHover,\n      clearHoverRow,\n      addRowHoverKeyboardListener,\n      removeRowHoverKeyboardListener,\n      tableRefTabIndex,\n    } = useHoverKeyboardEvent(props, tableRef);\n\n    watch(tableElmRef, () => {\n      setUseFixedTableElmRef(tableElmRef.value);\n    });\n\n    watch(\n      () => [props.data, dataSource],\n      () => {\n        setData(isPaginateData.value ? dataSource.value : props.data);\n      },\n    );\n\n    watch(\n      spansAndLeafNodes,\n      () => {\n        props.onLeafColumnsChange?.(spansAndLeafNodes.value.leafColumns);\n        setEffectColMap(spansAndLeafNodes.value.leafColumns, null);\n      },\n      { immediate: true },\n    );\n\n    const onFixedChange = () => {\n      nextTick(() => {\n        onHorizontalScroll();\n        updateAffixHeaderOrFooter();\n      });\n    };\n\n    const syncThWidthList = throttle(() => {\n      updateThWidthList(getThWidthList('calculate'));\n    });\n\n    // 虚拟滚动相关数据\n    const virtualScrollParams = computed(() => ({\n      data: props.data,\n      // 传递 fixedRows 的配置\n      scroll: { ...props.scroll, fixedRows: props.fixedRows },\n    }));\n    const virtualConfig = useVirtualScrollNew(tableContentRef, virtualScrollParams);\n\n    let lastScrollY = -1;\n    const onInnerVirtualScroll = (e: WheelEvent) => {\n      const target = (e.target || e.srcElement) as HTMLElement;\n      const top = target.scrollTop;\n      // 排除横向滚动触发的纵向虚拟滚动计算\n      if (lastScrollY !== top) {\n        virtualConfig.isVirtualScroll.value && virtualConfig.handleScroll();\n      } else {\n        lastScrollY = -1;\n        updateColumnFixedShadow(target);\n      }\n      lastScrollY = top;\n      emitScrollEvent(e);\n      if (props.tableLayout === 'auto') {\n        syncThWidthList();\n      }\n    };\n\n    // used for top margin\n    const getTFootHeight = () => {\n      if (!tableElmRef.value) return;\n      tableFootHeight.value = tableElmRef.value.querySelector('tfoot')?.getBoundingClientRect().height;\n    };\n\n    // 对外暴露方法，修改时需谨慎（expose）\n    const scrollColumnIntoView: BaseTableInstanceFunctions['scrollColumnIntoView'] = (colKey: string) => {\n      if (!tableContentRef.value) return;\n      const thDom = tableContentRef.value.querySelector(`th[data-colkey=\"${colKey}\"]`);\n      const fixedThDom = tableContentRef.value.querySelectorAll('th.t-table__cell--fixed-left');\n      let totalWidth = 0;\n      for (let i = 0, len = fixedThDom.length; i < len; i++) {\n        totalWidth += fixedThDom[i].getBoundingClientRect().width;\n      }\n      const domRect = thDom.getBoundingClientRect();\n      const contentRect = tableContentRef.value.getBoundingClientRect();\n      const distance = domRect.left - contentRect.left - totalWidth;\n      tableContentRef.value.scrollTo({ left: distance, behavior: 'smooth' });\n    };\n\n    watch(tableContentRef, () => {\n      setTableContentRef(tableContentRef.value);\n      // auto 布局下，初始化表头列宽，避免 affix 表头列宽不对齐\n      if (props.tableLayout === 'auto') {\n        syncThWidthList();\n      }\n    });\n\n    // 应该有多种情况下需要更新 foot 高度\n    // 原方案只监听 tableElmRef，但是可能有异步渲染的情况，footer 的渲染晚于 dom 引用的产生\n    // 加入 timeout，避免渲染延迟导致的高度获取失败\n    watch(\n      () => [tableElmRef.value, props.footData, props.footerSummary, props.columns],\n      () => {\n        const timer = setTimeout(() => {\n          getTFootHeight();\n          clearTimeout(timer);\n        }, 0);\n      },\n    );\n\n    watch(tableRef, (tableRef) => {\n      addTableResizeObserver(tableRef);\n    });\n\n    onMounted(() => {\n      getTFootHeight();\n      setTableContentRef(tableContentRef.value);\n      addTableResizeObserver(tableRef.value);\n    });\n\n    const onTableFocus = () => {\n      props.activeRowType && addHighlightKeyboardListener();\n      needKeyboardRowHover.value && addRowHoverKeyboardListener();\n    };\n\n    const onTableBlur = () => {\n      props.activeRowType && removeHighlightKeyboardListener();\n      needKeyboardRowHover.value && removeRowHoverKeyboardListener();\n    };\n\n    const onInnerRowClick: BaseTableProps['onRowClick'] = (ctx) => {\n      props.onRowClick?.(ctx);\n      props.activeRowType && onHighlightRow(ctx);\n      needKeyboardRowHover.value && clearHoverRow();\n    };\n\n    watch(\n      [showElement],\n      ([showElement]) => {\n        context.emit('show-element-change', showElement);\n      },\n      { immediate: true },\n    );\n\n    const tableData = computed(() => (isPaginateData.value ? dataSource.value : props.data));\n\n    const scrollToElement = (params: ComponentScrollToElementParams) => {\n      let { index } = params;\n      if (!index && index !== 0) {\n        if (!params.key) {\n          log.error('Table', 'scrollToElement: one of `index` or `key` must exist.');\n          return;\n        }\n        index = tableData.value?.findIndex((item) => get(item, props.rowKey) === params.key);\n        if (index < 0) {\n          log.error('Table', `${params.key} does not exist in data, check \\`rowKey\\` or \\`data\\` please.`);\n        }\n      }\n      if (virtualConfig.isVirtualScroll.value) {\n        virtualConfig.scrollToElement({ ...params, index: index + 1 });\n      } else {\n        // 执行普通的滚动\n        // 获取 tbody\n        const el = tableBodyRef.value?.$el as HTMLElement | undefined;\n        const row = el?.children?.[index] as HTMLElement;\n        if (row) {\n          const { offsetTop } = row;\n          const scrollTop = tableContentRef.value.scrollTop;\n          const scrollHeight = offsetTop - scrollTop - (params.top ?? 0);\n          // 实现偏移量的支持\n          tableContentRef.value.scrollBy({ top: scrollHeight, behavior: params.behavior ?? 'auto' });\n        }\n      }\n    };\n\n    return {\n      thList,\n      classPrefix,\n      innerPagination,\n      globalConfig,\n      tableFootHeight,\n      virtualScrollHeaderPos,\n      tableSize,\n      tableWidth,\n      tableElmWidth,\n      tableRef,\n      tableElmRef,\n      sizeClassNames,\n      tableBaseClass,\n      spansAndLeafNodes,\n      dynamicBaseTableClasses,\n      tableContentStyles,\n      tableElementStyles,\n      dividerBottom,\n      virtualScrollClasses,\n      tableLayoutClasses,\n      tableElmClasses,\n      tableContentRef,\n      isFixedHeader,\n      isWidthOverflow,\n      isFixedColumn,\n      rowAndColFixedPosition,\n      showColumnShadow,\n      thWidthList,\n      isPaginateData,\n      dataSource,\n      affixHeaderRef,\n      affixFooterRef,\n      bottomContentRef,\n      paginationRef,\n      showAffixHeader,\n      showAffixFooter,\n      scrollbarWidth,\n      isMultipleHeader,\n      showRightDivider,\n      resizeLineRef,\n      resizeLineStyle,\n      columnResizeParams,\n      horizontalScrollbarRef,\n      tableBodyRef,\n      virtualConfig,\n      showAffixPagination,\n      tActiveRow,\n      hoverRow,\n      showElement,\n      scrollToElement,\n      renderPagination,\n      renderTNode,\n      onFixedChange,\n      onHorizontalScroll,\n      updateAffixHeaderOrFooter,\n      onInnerVirtualScroll,\n      refreshTable,\n      scrollColumnIntoView,\n      onTableFocus,\n      onTableBlur,\n      onInnerRowClick,\n      paginationAffixRef,\n      horizontalScrollAffixRef,\n      headerTopAffixRef,\n      footerBottomAffixRef,\n      tableRefTabIndex,\n    };\n  },\n\n  render() {\n    if (!this.showElement) {\n      return <div ref=\"tableRef\"></div>;\n    }\n\n    const { rowAndColFixedPosition, tableLayout } = this;\n    const data = this.isPaginateData ? this.dataSource : this.data;\n    const columns = this.spansAndLeafNodes?.leafColumns || this.columns;\n\n    const columnResizable = this.allowResizeColumnWidth ?? this.resizable;\n    if (columnResizable && tableLayout === 'auto') {\n      log.warn(\n        'Table',\n        'table-layout can not be `auto`, cause you are using column resizable, set `table-layout: fixed` please.',\n      );\n    }\n\n    const defaultColWidth = tableLayout === 'fixed' && this.isWidthOverflow ? '100px' : undefined;\n\n    const renderColGroup = (isAffixHeader = true) => (\n      <colgroup>\n        {columns.map((col) => {\n          const style: Styles = {\n            width:\n              formatCSSUnit(\n                (isAffixHeader || columnResizable ? this.thWidthList[col.colKey] : undefined) || col.width,\n              ) || defaultColWidth,\n          };\n          if (col.minWidth) {\n            style.minWidth = formatCSSUnit(col.minWidth);\n          }\n          // 没有设置任何宽度的场景下，需要保留表格正常显示的最小宽度，否则会出现因宽度过小的抖动问题\n          if (!style.width && !col.minWidth && this.tableLayout === 'fixed') {\n            style.minWidth = '80px';\n          }\n          return <col key={col.colKey} style={style}></col>;\n        })}\n      </colgroup>\n    );\n\n    const renderAffixedHeader = () => {\n      if (this.showHeader === false) return null;\n      return (\n        !!(this.virtualConfig.isVirtualScroll.value || this.headerAffixedTop) &&\n        (this.headerAffixedTop ? (\n          <Affix\n            offsetTop={0}\n            {...getAffixProps(this.headerAffixedTop)}\n            onFixedChange={this.onFixedChange}\n            ref=\"headerTopAffixRef\"\n          >\n            {affixHeaderWithWrap}\n          </Affix>\n        ) : (\n          this.isFixedHeader && affixHeaderWithWrap\n        ))\n      );\n    };\n\n    const renderAffixedHorizontalScrollbar = () => (\n      <Affix\n        offsetBottom={0}\n        {...getAffixProps(this.horizontalScrollAffixedBottom)}\n        style={{ marginTop: `-${this.scrollbarWidth * 2}px` }}\n        horizontalScrollAffixedBottom\n        ref=\"horizontalScrollAffixRef\"\n      >\n        <div\n          ref=\"horizontalScrollbarRef\"\n          class={['scrollbar', this.tableBaseClass.obviousScrollbar]}\n          style={{\n            width: `${this.tableWidth}px`,\n            overflow: 'auto',\n            opacity: Number(this.showAffixFooter),\n          }}\n        >\n          <div style={{ width: `${this.tableElmWidth}px`, height: '5px' }}></div>\n        </div>\n      </Affix>\n    );\n\n    const headProps = {\n      isFixedHeader: this.isFixedHeader,\n      rowAndColFixedPosition: this.rowAndColFixedPosition,\n      isMultipleHeader: this.isMultipleHeader,\n      bordered: this.bordered,\n      maxHeight: this.maxHeight,\n      height: this.height,\n      spansAndLeafNodes: this.spansAndLeafNodes,\n      thList: this.thList,\n      thWidthList: this.thWidthList,\n      resizable: this.resizable,\n      columnResizeParams: this.columnResizeParams,\n      classPrefix: this.classPrefix,\n      ellipsisOverlayClassName: this.tableSize !== 'medium' ? this.sizeClassNames[this.tableSize] : '',\n      attach: this.attach,\n      showColumnShadow: this.showColumnShadow,\n      thDraggable: this.thDraggable,\n    };\n\n    /**\n     * Affixed Header\n     */\n    // IE 浏览器需要遮挡 header 吸顶滚动条，要减去 getBoundingClientRect.height 的滚动条高度 4 像素\n    const IEHeaderWrap = getIEVersion() <= 11 ? 4 : 0;\n    const barWidth = this.isWidthOverflow ? this.scrollbarWidth : 0;\n    const affixHeaderHeight = ref((this.affixHeaderRef?.getBoundingClientRect().height || 0) - IEHeaderWrap);\n    // 等待表头渲染完成后再更新高度，有可能列变动带来多级表头的高度变化，错误高度会导致滚动条显示\n    const timer = setTimeout(() => {\n      affixHeaderHeight.value = (this.affixHeaderRef?.getBoundingClientRect().height || 0) - IEHeaderWrap;\n      clearTimeout(timer);\n    }, 0);\n    const affixHeaderWrapHeight = computed(() => affixHeaderHeight.value - barWidth);\n    // 两类场景：1. 虚拟滚动，永久显示表头，直到表头消失在可视区域； 2. 表头吸顶，根据滚动情况判断是否显示吸顶表头\n    const headerOpacity = props.headerAffixedTop ? Number(this.showAffixHeader) : 1;\n    const affixHeaderWrapHeightStyle = computed(() => {\n      return {\n        width: `${this.tableWidth}px`,\n        height: `${affixHeaderWrapHeight.value}px`,\n        opacity: headerOpacity,\n      };\n    });\n    // 多级表头左边线缺失\n    const affixedLeftBorder = this.bordered ? 1 : 0;\n    const affixedHeader = Boolean(\n      (this.headerAffixedTop || this.virtualConfig.isVirtualScroll.value) && this.tableWidth,\n    ) && (\n      <div\n        ref=\"affixHeaderRef\"\n        style={{\n          width: `${this.tableWidth - affixedLeftBorder}px`,\n          opacity: Number(this.showAffixHeader),\n        }}\n        class={[\n          'scrollbar',\n          {\n            [this.tableBaseClass.affixedHeaderElm]: this.headerAffixedTop || this.virtualConfig.isVirtualScroll.value,\n          },\n        ]}\n      >\n        <table class={this.tableElmClasses} style={{ ...this.tableElementStyles, width: `${this.tableElmWidth}px` }}>\n          {renderColGroup(true)}\n          <THead v-slots={this.$slots} {...headProps} />\n        </table>\n      </div>\n    );\n\n    // 添加这一层，是为了隐藏表头的横向滚动条。如果以后不需要照顾 IE 10 以下的项目，则可直接移除这一层\n    // 彼时，可更为使用 CSS 样式中的 .hideScrollbar()\n    const affixHeaderWithWrap = (\n      <div class={this.tableBaseClass.affixedHeaderWrap} style={affixHeaderWrapHeightStyle.value}>\n        {affixedHeader}\n      </div>\n    );\n\n    /**\n     * Affixed Footer\n     */\n    let marginScrollbarWidth = this.isWidthOverflow ? this.scrollbarWidth : 0;\n    if (this.bordered) {\n      marginScrollbarWidth += 1;\n    }\n    // Hack: Affix 组件，marginTop 临时使用 负 margin 定位位置\n    const showFooter = Boolean(this.virtualConfig.isVirtualScroll.value || this.footerAffixedBottom);\n    const hasFooter = this.footData?.length || this.footerSummary || this.$slots['footerSummary'];\n    const affixedFooter = Boolean(showFooter && hasFooter && this.tableWidth) && (\n      <Affix\n        class={this.tableBaseClass.affixedFooterWrap}\n        onFixedChange={this.onFixedChange}\n        offsetBottom={marginScrollbarWidth || 0}\n        {...getAffixProps(this.footerAffixedBottom)}\n        style={{ marginTop: `${-1 * ((this.tableFootHeight ?? 0) + marginScrollbarWidth)}px` }}\n        ref=\"footerBottomAffixRef\"\n      >\n        <div\n          ref=\"affixFooterRef\"\n          style={{ width: `${this.tableWidth - affixedLeftBorder}px`, opacity: Number(this.showAffixFooter) }}\n          class={[\n            'scrollbar',\n            {\n              [this.tableBaseClass.affixedFooterElm]:\n                this.footerAffixedBottom || this.virtualConfig.isVirtualScroll.value,\n            },\n          ]}\n        >\n          <table class={this.tableElmClasses} style={{ ...this.tableElementStyles, width: `${this.tableElmWidth}px` }}>\n            {/* 此处和 Vue2 不同，Vue3 里面必须每一处单独写 <colgroup> */}\n            {renderColGroup(true)}\n            <TFoot\n              rowKey={this.rowKey}\n              v-slots={this.$slots}\n              isFixedHeader={this.isFixedHeader}\n              rowAndColFixedPosition={rowAndColFixedPosition}\n              footData={this.footData}\n              columns={columns}\n              rowAttributes={this.rowAttributes}\n              rowClassName={this.rowClassName}\n              thWidthList={this.thWidthList}\n              footerSummary={this.footerSummary}\n              rowspanAndColspanInFooter={this.rowspanAndColspanInFooter}\n            ></TFoot>\n          </table>\n        </div>\n      </Affix>\n    );\n\n    // 通过 translate 撑开虚拟滚动的高度，应该是内容高度加上表头和表尾的高度\n    const translate = `translate(0, ${\n      this.virtualConfig.scrollHeight.value + (this.tableFootHeight ?? 0) + (affixHeaderHeight.value ?? 0)\n    }px)`;\n    const virtualStyle = {\n      transform: translate,\n      '-ms-transform': translate,\n      '-moz-transform': translate,\n      '-webkit-transform': translate,\n    };\n    const tableBodyProps = {\n      classPrefix: this.classPrefix,\n      ellipsisOverlayClassName: this.tableSize !== 'medium' ? this.sizeClassNames[this.tableSize] : '',\n      rowAndColFixedPosition,\n      showColumnShadow: this.showColumnShadow,\n      data: data,\n      virtualConfig: this.virtualConfig,\n      columns: this.spansAndLeafNodes.leafColumns,\n      tableElm: this.tableRef,\n      tableWidth: this.tableWidth,\n      isWidthOverflow: this.isWidthOverflow,\n      scroll: this.scroll,\n      cellEmptyContent: this.cellEmptyContent,\n      tableContentElm: this.tableContentRef,\n      handleRowMounted: this.virtualConfig.handleRowMounted,\n      renderExpandedRow: this.renderExpandedRow,\n      ...pick(this.$props, extendTableProps),\n      // 内部使用分页信息必须取 innerPagination\n      pagination: this.innerPagination,\n      attach: this.attach,\n      hoverRow: this.hoverRow,\n      activeRow: this.tActiveRow,\n      onRowClick: this.onInnerRowClick,\n    };\n    const tableContent = (\n      <div\n        ref=\"tableContentRef\"\n        class={this.tableBaseClass.content}\n        style={this.tableContentStyles}\n        onScroll={this.onInnerVirtualScroll}\n      >\n        {this.virtualConfig.isVirtualScroll.value && (\n          <div class={this.virtualScrollClasses.cursor} style={virtualStyle} />\n        )}\n\n        <table\n          ref=\"tableElmRef\"\n          class={this.tableElmClasses}\n          style={{\n            ...this.tableElementStyles,\n            width:\n              this.resizable && this.isWidthOverflow && this.tableElmWidth\n                ? `${this.tableElmWidth}px`\n                : this.tableElementStyles.width,\n          }}\n        >\n          {renderColGroup(false)}\n          {this.showHeader && (\n            <THead v-slots={this.$slots} {...{ ...headProps, thWidthList: columnResizable ? this.thWidthList : {} }} />\n          )}\n          <TBody v-slots={this.$slots} ref=\"tableBodyRef\" {...tableBodyProps} />\n          <TFoot\n            v-slots={this.$slots}\n            rowKey={this.rowKey}\n            isFixedHeader={this.isFixedHeader}\n            rowAndColFixedPosition={rowAndColFixedPosition}\n            footData={this.footData}\n            columns={columns}\n            rowAttributes={this.rowAttributes}\n            rowClassName={this.rowClassName}\n            footerSummary={this.footerSummary}\n            rowspanAndColspanInFooter={this.rowspanAndColspanInFooter}\n            virtualScroll={this.virtualConfig.isVirtualScroll.value}\n          ></TFoot>\n        </table>\n      </div>\n    );\n\n    const getCustomLoadingText = isFunction(this.loading) ? this.loading : this.$slots.loading;\n    const loadingContent = this.loading !== undefined && (\n      <Loading\n        loading={!!this.loading}\n        text={getCustomLoadingText}\n        attach={this.tableRef ? () => this.tableRef : undefined}\n        showOverlay\n        size=\"small\"\n        {...(this.loadingProps as BaseTableProps['loadingProps'])}\n      ></Loading>\n    );\n\n    const topContent = this.renderTNode('topContent');\n    const bottomContent = this.renderTNode('bottomContent');\n    const pagination = (\n      <div\n        ref=\"paginationRef\"\n        class={this.tableBaseClass.paginationWrap}\n        style={{ opacity: Number(this.showAffixPagination) }}\n      >\n        {this.renderPagination()}\n      </div>\n    );\n\n    const bottom = !!bottomContent && (\n      <div ref=\"bottomContentRef\" class={this.tableBaseClass.bottomContent}>\n        {bottomContent}\n      </div>\n    );\n\n    return (\n      <div\n        ref=\"tableRef\"\n        tabindex={this.tableRefTabIndex}\n        class={this.dynamicBaseTableClasses}\n        onFocus={this.onTableFocus}\n        onBlur={this.onTableBlur}\n      >\n        {!!topContent && <div class={this.tableBaseClass.topContent}>{topContent}</div>}\n\n        {renderAffixedHeader()}\n\n        {tableContent}\n\n        {affixedFooter}\n\n        {loadingContent}\n\n        {bottom}\n\n        {/* 右侧滚动条分隔线 */}\n        {this.showRightDivider && (\n          <div\n            class={this.tableBaseClass.scrollbarDivider}\n            style={{\n              right: `${this.scrollbarWidth}px`,\n              bottom: this.dividerBottom ? `${this.dividerBottom}px` : undefined,\n              height: `${this.tableContentRef?.getBoundingClientRect().height}px`,\n            }}\n          ></div>\n        )}\n\n        {/* 吸底的滚动条 */}\n        {this.horizontalScrollAffixedBottom && renderAffixedHorizontalScrollbar()}\n\n        {/* 吸底的分页器 */}\n        {this.paginationAffixedBottom ? (\n          <Affix offsetBottom={0} {...getAffixProps(this.paginationAffixedBottom)} ref=\"paginationAffixRef\">\n            {pagination}\n          </Affix>\n        ) : (\n          pagination\n        )}\n\n        {/* 调整列宽时的指示线。由于层级需要比较高，因而放在根节点，避免被吸顶表头覆盖。非必要情况，请勿调整辅助线位置 */}\n        <div ref=\"resizeLineRef\" class={this.tableBaseClass.resizeLine} style={this.resizeLineStyle}></div>\n      </div>\n    );\n  },\n});\n"],"names":["_isSlot","s","Object","prototype","toString","call","_isVNode","BASE_TABLE_EVENTS","BASE_TABLE_ALL_EVENTS","ROW_LISTENERS","map","t","concat","defineComponent","name","props","_objectSpread","renderExpandedRow","Function","onLeafColumnsChange","thDraggable","Boolean","emits","setup","context","_toRefs","toRefs","lazyLoad","renderTNode","useTNodeJSX","tableRef","ref","tableElmRef","tableBodyRef","bottomContentRef","tableFootHeight","_useClassName","useClassName","classPrefix","virtualScrollClasses","tableLayoutClasses","tableBaseClass","tableColFixedClasses","_useStyle","useStyle","tableClasses","sizeClassNames","tableContentStyles","tableElementStyles","_useConfig","useConfig","locale","globalConfig","_useTableHeader","useTableHeader","isMultipleHeader","spansAndLeafNodes","thList","finalColumns","computed","_spansAndLeafNodes$va","value","leafColumns","columns","tableSize","_props2$size","size","_useElementLazyRender","useElementLazyRender","showElement","paginationAffixRef","horizontalScrollAffixRef","headerTopAffixRef","footerBottomAffixRef","_useFixed","useFixed","scrollbarWidth","virtualScrollHeaderPos","tableWidth","tableElmWidth","tableContentRef","isFixedHeader","isWidthOverflow","isFixedColumn","thWidthList","showColumnShadow","rowAndColFixedPosition","setData","refreshTable","setTableElmWidth","emitScrollEvent","setUseFixedTableElmRef","updateColumnFixedShadow","getThWidthList","updateThWidthList","addTableResizeObserver","updateTableAfterColumnResize","_useAffix","useAffix","affixHeaderRef","affixFooterRef","horizontalScrollbarRef","paginationRef","showAffixHeader","showAffixFooter","showAffixPagination","onHorizontalScroll","setTableContentRef","updateAffixHeaderOrFooter","_usePagination","usePagination","dataSource","innerPagination","isPaginateData","renderPagination","columnResizeParams","useColumnResize","onColumnResizeChange","resizeLineRef","resizeLineStyle","setEffectColMap","dynamicBaseTableClasses","_defineProperty","headerFixed","columnFixed","widthOverflow","multipleHeader","leftShadow","left","rightShadow","right","columnResizableTable","resizable","activeRowType","tableElmClasses","tableLayout","showRightDivider","bordered","dividerBottom","_bottomContentRef$val","_paginationRef$value","bottomRect","getBoundingClientRect","paginationRect","height","_useRowHighlight","useRowHighlight","tActiveRow","onHighlightRow","addHighlightKeyboardListener","removeHighlightKeyboardListener","_useHoverKeyboardEven","useHoverKeyboardEvent","hoverRow","needKeyboardRowHover","clearHoverRow","addRowHoverKeyboardListener","removeRowHoverKeyboardListener","tableRefTabIndex","watch","data","_props2$onLeafColumns","immediate","onFixedChange","nextTick","syncThWidthList","throttle","virtualScrollParams","scroll","fixedRows","virtualConfig","useVirtualScrollNew","lastScrollY","onInnerVirtualScroll","e","target","srcElement","top","scrollTop","isVirtualScroll","handleScroll","getTFootHeight","_tableElmRef$value$qu","querySelector","scrollColumnIntoView","colKey","thDom","fixedThDom","querySelectorAll","totalWidth","i","len","length","width","domRect","contentRect","distance","scrollTo","behavior","footData","footerSummary","timer","setTimeout","clearTimeout","onMounted","onTableFocus","onTableBlur","onInnerRowClick","ctx","_props2$onRowClick","onRowClick","_ref2","_ref3","_slicedToArray","emit","tableData","scrollToElement","params","index","_tableData$value","key","log","error","findIndex","item","get","rowKey","_tableBodyRef$value","_el$children","el","$el","row","children","_params$top","_params$behavior","offsetTop","scrollHeight","scrollBy","render","_this$spansAndLeafNod","_this$allowResizeColu","_this","_this$affixHeaderRef","_this$footData","_this$tableFootHeight","_this$tableFootHeight2","_affixHeaderHeight$va","_this$tableContentRef","_createVNode","columnResizable","allowResizeColumnWidth","warn","defaultColWidth","renderColGroup","isAffixHeader","arguments","undefined","col","style","formatCSSUnit","minWidth","renderAffixedHeader","showHeader","headerAffixedTop","Affix","_mergeProps","getAffixProps","affixHeaderWithWrap","_default","renderAffixedHorizontalScrollbar","horizontalScrollAffixedBottom","marginTop","obviousScrollbar","overflow","opacity","Number","headProps","maxHeight","ellipsisOverlayClassName","attach","IEHeaderWrap","getIEVersion","barWidth","affixHeaderHeight","_this$affixHeaderRef2","affixHeaderWrapHeight","headerOpacity","affixHeaderWrapHeightStyle","affixedLeftBorder","affixedHeader","affixedHeaderElm","THead","$slots","affixedHeaderWrap","marginScrollbarWidth","showFooter","footerAffixedBottom","hasFooter","affixedFooter","affixedFooterWrap","affixedFooterElm","TFoot","rowAttributes","rowClassName","rowspanAndColspanInFooter","translate","virtualStyle","transform","tableBodyProps","tableElm","cellEmptyContent","tableContentElm","handleRowMounted","pick","$props","extendTableProps","pagination","activeRow","tableContent","content","cursor","TBody","getCustomLoadingText","isFunction","loading","loadingContent","Loading","loadingProps","topContent","bottomContent","paginationWrap","bottom","scrollbarDivider","paginationAffixedBottom","resizeLine"],"mappings":"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"}