{"ast":null,"code":"\"use client\";\n\nimport * as React from 'react';\nimport classNames from 'classnames';\nimport { INTERNAL_HOOKS } from 'rc-table';\nimport { convertChildrenToColumns } from \"rc-table/es/hooks/useColumns\";\nimport omit from \"rc-util/es/omit\";\nimport scrollTo from '../_util/scrollTo';\nimport { devUseWarning } from '../_util/warning';\nimport { ConfigContext } from '../config-provider/context';\nimport DefaultRenderEmpty from '../config-provider/defaultRenderEmpty';\nimport useSize from '../config-provider/hooks/useSize';\nimport useBreakpoint from '../grid/hooks/useBreakpoint';\nimport defaultLocale from '../locale/en_US';\nimport Pagination from '../pagination';\nimport Spin from '../spin';\nimport { useToken } from '../theme/internal';\nimport renderExpandIcon from './ExpandIcon';\nimport useContainerWidth from './hooks/useContainerWidth';\nimport useFilter, { getFilterData } from './hooks/useFilter';\nimport useLazyKVMap from './hooks/useLazyKVMap';\nimport usePagination, { DEFAULT_PAGE_SIZE, getPaginationParam } from './hooks/usePagination';\nimport useSelection from './hooks/useSelection';\nimport useSorter, { getSortData } from './hooks/useSorter';\nimport useTitleColumns from './hooks/useTitleColumns';\nimport RcTable from './RcTable';\nimport RcVirtualTable from './RcTable/VirtualTable';\nimport useStyle from './style';\nconst EMPTY_LIST = [];\nconst InternalTable = (props, ref) => {\n  const {\n    prefixCls: customizePrefixCls,\n    className,\n    rootClassName,\n    style,\n    size: customizeSize,\n    bordered,\n    dropdownPrefixCls: customizeDropdownPrefixCls,\n    dataSource,\n    pagination,\n    rowSelection,\n    rowKey = 'key',\n    rowClassName,\n    columns,\n    children,\n    childrenColumnName: legacyChildrenColumnName,\n    onChange,\n    getPopupContainer,\n    loading,\n    expandIcon,\n    expandable,\n    expandedRowRender,\n    expandIconColumnIndex,\n    indentSize,\n    scroll,\n    sortDirections,\n    locale,\n    showSorterTooltip = true,\n    virtual\n  } = props;\n  const warning = devUseWarning('Table');\n  if (process.env.NODE_ENV !== 'production') {\n    process.env.NODE_ENV !== \"production\" ? warning(!(typeof rowKey === 'function' && rowKey.length > 1), 'usage', '`index` parameter of `rowKey` function is deprecated. There is no guarantee that it will work as expected.') : void 0;\n  }\n  const baseColumns = React.useMemo(() => columns || convertChildrenToColumns(children), [columns, children]);\n  const needResponsive = React.useMemo(() => baseColumns.some(col => col.responsive), [baseColumns]);\n  const screens = useBreakpoint(needResponsive);\n  const mergedColumns = React.useMemo(() => {\n    const matched = new Set(Object.keys(screens).filter(m => screens[m]));\n    return baseColumns.filter(c => !c.responsive || c.responsive.some(r => matched.has(r)));\n  }, [baseColumns, screens]);\n  const tableProps = omit(props, ['className', 'style', 'columns']);\n  const {\n    locale: contextLocale = defaultLocale,\n    direction,\n    table,\n    renderEmpty,\n    getPrefixCls,\n    getPopupContainer: getContextPopupContainer\n  } = React.useContext(ConfigContext);\n  const mergedSize = useSize(customizeSize);\n  const tableLocale = Object.assign(Object.assign({}, contextLocale.Table), locale);\n  const rawData = dataSource || EMPTY_LIST;\n  const prefixCls = getPrefixCls('table', customizePrefixCls);\n  const dropdownPrefixCls = getPrefixCls('dropdown', customizeDropdownPrefixCls);\n  const mergedExpandable = Object.assign({\n    childrenColumnName: legacyChildrenColumnName,\n    expandIconColumnIndex\n  }, expandable);\n  const {\n    childrenColumnName = 'children'\n  } = mergedExpandable;\n  const expandType = React.useMemo(() => {\n    if (rawData.some(item => item === null || item === void 0 ? void 0 : item[childrenColumnName])) {\n      return 'nest';\n    }\n    if (expandedRowRender || expandable && expandable.expandedRowRender) {\n      return 'row';\n    }\n    return null;\n  }, [rawData]);\n  const internalRefs = {\n    body: React.useRef()\n  };\n  // ============================ Width =============================\n  const getContainerWidth = useContainerWidth(prefixCls);\n  // ============================ RowKey ============================\n  const getRowKey = React.useMemo(() => {\n    if (typeof rowKey === 'function') {\n      return rowKey;\n    }\n    return record => record === null || record === void 0 ? void 0 : record[rowKey];\n  }, [rowKey]);\n  const [getRecordByKey] = useLazyKVMap(rawData, childrenColumnName, getRowKey);\n  // ============================ Events =============================\n  const changeEventInfo = {};\n  const triggerOnChange = function (info, action) {\n    let reset = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : false;\n    var _a, _b, _c;\n    const changeInfo = Object.assign(Object.assign({}, changeEventInfo), info);\n    if (reset) {\n      (_a = changeEventInfo.resetPagination) === null || _a === void 0 ? void 0 : _a.call(changeEventInfo);\n      // Reset event param\n      if ((_b = changeInfo.pagination) === null || _b === void 0 ? void 0 : _b.current) {\n        changeInfo.pagination.current = 1;\n      }\n      // Trigger pagination events\n      if (pagination && pagination.onChange) {\n        pagination.onChange(1, (_c = changeInfo.pagination) === null || _c === void 0 ? void 0 : _c.pageSize);\n      }\n    }\n    if (scroll && scroll.scrollToFirstRowOnChange !== false && internalRefs.body.current) {\n      scrollTo(0, {\n        getContainer: () => internalRefs.body.current\n      });\n    }\n    onChange === null || onChange === void 0 ? void 0 : onChange(changeInfo.pagination, changeInfo.filters, changeInfo.sorter, {\n      currentDataSource: getFilterData(getSortData(rawData, changeInfo.sorterStates, childrenColumnName), changeInfo.filterStates),\n      action\n    });\n  };\n  /**\n   * Controlled state in `columns` is not a good idea that makes too many code (1000+ line?) to read\n   * state out and then put it back to title render. Move these code into `hooks` but still too\n   * complex. We should provides Table props like `sorter` & `filter` to handle control in next big\n   * version.\n   */\n  // ============================ Sorter =============================\n  const onSorterChange = (sorter, sorterStates) => {\n    triggerOnChange({\n      sorter,\n      sorterStates\n    }, 'sort', false);\n  };\n  const [transformSorterColumns, sortStates, sorterTitleProps, getSorters] = useSorter({\n    prefixCls,\n    mergedColumns,\n    onSorterChange,\n    sortDirections: sortDirections || ['ascend', 'descend'],\n    tableLocale,\n    showSorterTooltip\n  });\n  const sortedData = React.useMemo(() => getSortData(rawData, sortStates, childrenColumnName), [rawData, sortStates]);\n  changeEventInfo.sorter = getSorters();\n  changeEventInfo.sorterStates = sortStates;\n  // ============================ Filter ============================\n  const onFilterChange = (filters, filterStates) => {\n    triggerOnChange({\n      filters,\n      filterStates\n    }, 'filter', true);\n  };\n  const [transformFilterColumns, filterStates, filters] = useFilter({\n    prefixCls,\n    locale: tableLocale,\n    dropdownPrefixCls,\n    mergedColumns,\n    onFilterChange,\n    getPopupContainer: getPopupContainer || getContextPopupContainer\n  });\n  const mergedData = getFilterData(sortedData, filterStates);\n  changeEventInfo.filters = filters;\n  changeEventInfo.filterStates = filterStates;\n  // ============================ Column ============================\n  const columnTitleProps = React.useMemo(() => {\n    const mergedFilters = {};\n    Object.keys(filters).forEach(filterKey => {\n      if (filters[filterKey] !== null) {\n        mergedFilters[filterKey] = filters[filterKey];\n      }\n    });\n    return Object.assign(Object.assign({}, sorterTitleProps), {\n      filters: mergedFilters\n    });\n  }, [sorterTitleProps, filters]);\n  const [transformTitleColumns] = useTitleColumns(columnTitleProps);\n  // ========================== Pagination ==========================\n  const onPaginationChange = (current, pageSize) => {\n    triggerOnChange({\n      pagination: Object.assign(Object.assign({}, changeEventInfo.pagination), {\n        current,\n        pageSize\n      })\n    }, 'paginate');\n  };\n  const [mergedPagination, resetPagination] = usePagination(mergedData.length, onPaginationChange, pagination);\n  changeEventInfo.pagination = pagination === false ? {} : getPaginationParam(mergedPagination, pagination);\n  changeEventInfo.resetPagination = resetPagination;\n  // ============================= Data =============================\n  const pageData = React.useMemo(() => {\n    if (pagination === false || !mergedPagination.pageSize) {\n      return mergedData;\n    }\n    const {\n      current = 1,\n      total,\n      pageSize = DEFAULT_PAGE_SIZE\n    } = mergedPagination;\n    process.env.NODE_ENV !== \"production\" ? warning(current > 0, 'usage', '`current` should be positive number.') : void 0;\n    // Dynamic table data\n    if (mergedData.length < total) {\n      if (mergedData.length > pageSize) {\n        process.env.NODE_ENV !== \"production\" ? warning(false, 'usage', '`dataSource` length is less than `pagination.total` but large than `pagination.pageSize`. Please make sure your config correct data with async mode.') : void 0;\n        return mergedData.slice((current - 1) * pageSize, current * pageSize);\n      }\n      return mergedData;\n    }\n    return mergedData.slice((current - 1) * pageSize, current * pageSize);\n  }, [!!pagination, mergedData, mergedPagination && mergedPagination.current, mergedPagination && mergedPagination.pageSize, mergedPagination && mergedPagination.total]);\n  // ========================== Selections ==========================\n  const [transformSelectionColumns, selectedKeySet] = useSelection({\n    prefixCls,\n    data: mergedData,\n    pageData,\n    getRowKey,\n    getRecordByKey,\n    expandType,\n    childrenColumnName,\n    locale: tableLocale,\n    getPopupContainer: getPopupContainer || getContextPopupContainer\n  }, rowSelection);\n  const internalRowClassName = (record, index, indent) => {\n    let mergedRowClassName;\n    if (typeof rowClassName === 'function') {\n      mergedRowClassName = classNames(rowClassName(record, index, indent));\n    } else {\n      mergedRowClassName = classNames(rowClassName);\n    }\n    return classNames({\n      [`${prefixCls}-row-selected`]: selectedKeySet.has(getRowKey(record, index))\n    }, mergedRowClassName);\n  };\n  // ========================== Expandable ==========================\n  // Pass origin render status into `rc-table`, this can be removed when refactor with `rc-table`\n  mergedExpandable.__PARENT_RENDER_ICON__ = mergedExpandable.expandIcon;\n  // Customize expandable icon\n  mergedExpandable.expandIcon = mergedExpandable.expandIcon || expandIcon || renderExpandIcon(tableLocale);\n  // Adjust expand icon index, no overwrite expandIconColumnIndex if set.\n  if (expandType === 'nest' && mergedExpandable.expandIconColumnIndex === undefined) {\n    mergedExpandable.expandIconColumnIndex = rowSelection ? 1 : 0;\n  } else if (mergedExpandable.expandIconColumnIndex > 0 && rowSelection) {\n    mergedExpandable.expandIconColumnIndex -= 1;\n  }\n  // Indent size\n  if (typeof mergedExpandable.indentSize !== 'number') {\n    mergedExpandable.indentSize = typeof indentSize === 'number' ? indentSize : 15;\n  }\n  // ============================ Render ============================\n  const transformColumns = React.useCallback(innerColumns => transformTitleColumns(transformSelectionColumns(transformFilterColumns(transformSorterColumns(innerColumns)))), [transformSorterColumns, transformFilterColumns, transformSelectionColumns]);\n  let topPaginationNode;\n  let bottomPaginationNode;\n  if (pagination !== false && (mergedPagination === null || mergedPagination === void 0 ? void 0 : mergedPagination.total)) {\n    let paginationSize;\n    if (mergedPagination.size) {\n      paginationSize = mergedPagination.size;\n    } else {\n      paginationSize = mergedSize === 'small' || mergedSize === 'middle' ? 'small' : undefined;\n    }\n    const renderPagination = position => /*#__PURE__*/React.createElement(Pagination, Object.assign({}, mergedPagination, {\n      className: classNames(`${prefixCls}-pagination ${prefixCls}-pagination-${position}`, mergedPagination.className),\n      size: paginationSize\n    }));\n    const defaultPosition = direction === 'rtl' ? 'left' : 'right';\n    const {\n      position\n    } = mergedPagination;\n    if (position !== null && Array.isArray(position)) {\n      const topPos = position.find(p => p.includes('top'));\n      const bottomPos = position.find(p => p.includes('bottom'));\n      const isDisable = position.every(p => `${p}` === 'none');\n      if (!topPos && !bottomPos && !isDisable) {\n        bottomPaginationNode = renderPagination(defaultPosition);\n      }\n      if (topPos) {\n        topPaginationNode = renderPagination(topPos.toLowerCase().replace('top', ''));\n      }\n      if (bottomPos) {\n        bottomPaginationNode = renderPagination(bottomPos.toLowerCase().replace('bottom', ''));\n      }\n    } else {\n      bottomPaginationNode = renderPagination(defaultPosition);\n    }\n  }\n  // >>>>>>>>> Spinning\n  let spinProps;\n  if (typeof loading === 'boolean') {\n    spinProps = {\n      spinning: loading\n    };\n  } else if (typeof loading === 'object') {\n    spinProps = Object.assign({\n      spinning: true\n    }, loading);\n  }\n  // Style\n  const [wrapSSR, hashId] = useStyle(prefixCls);\n  const [, token] = useToken();\n  const wrapperClassNames = classNames(`${prefixCls}-wrapper`, table === null || table === void 0 ? void 0 : table.className, {\n    [`${prefixCls}-wrapper-rtl`]: direction === 'rtl'\n  }, className, rootClassName, hashId);\n  const mergedStyle = Object.assign(Object.assign({}, table === null || table === void 0 ? void 0 : table.style), style);\n  const emptyText = locale && locale.emptyText || (renderEmpty === null || renderEmpty === void 0 ? void 0 : renderEmpty('Table')) || /*#__PURE__*/React.createElement(DefaultRenderEmpty, {\n    componentName: \"Table\"\n  });\n  // ========================== Render ==========================\n  const TableComponent = virtual ? RcVirtualTable : RcTable;\n  // >>> Virtual Table props. We set height here since it will affect height collection\n  const virtualProps = {};\n  const listItemHeight = React.useMemo(() => {\n    const {\n      fontSize,\n      lineHeight,\n      padding,\n      paddingXS,\n      paddingSM\n    } = token;\n    const fontHeight = Math.floor(fontSize * lineHeight);\n    switch (mergedSize) {\n      case 'large':\n        return padding * 2 + fontHeight;\n      case 'small':\n        return paddingXS * 2 + fontHeight;\n      default:\n        return paddingSM * 2 + fontHeight;\n    }\n  }, [token, mergedSize]);\n  if (virtual) {\n    virtualProps.listItemHeight = listItemHeight;\n  }\n  return wrapSSR( /*#__PURE__*/React.createElement(\"div\", {\n    ref: ref,\n    className: wrapperClassNames,\n    style: mergedStyle\n  }, /*#__PURE__*/React.createElement(Spin, Object.assign({\n    spinning: false\n  }, spinProps), topPaginationNode, /*#__PURE__*/React.createElement(TableComponent, Object.assign({}, virtualProps, tableProps, {\n    columns: mergedColumns,\n    direction: direction,\n    expandable: mergedExpandable,\n    prefixCls: prefixCls,\n    className: classNames({\n      [`${prefixCls}-middle`]: mergedSize === 'middle',\n      [`${prefixCls}-small`]: mergedSize === 'small',\n      [`${prefixCls}-bordered`]: bordered,\n      [`${prefixCls}-empty`]: rawData.length === 0\n    }),\n    data: pageData,\n    rowKey: getRowKey,\n    rowClassName: internalRowClassName,\n    emptyText: emptyText,\n    // Internal\n    internalHooks: INTERNAL_HOOKS,\n    internalRefs: internalRefs,\n    transformColumns: transformColumns,\n    getContainerWidth: getContainerWidth\n  })), bottomPaginationNode)));\n};\nexport default /*#__PURE__*/React.forwardRef(InternalTable);","map":{"version":3,"names":["React","classNames","INTERNAL_HOOKS","convertChildrenToColumns","omit","scrollTo","devUseWarning","ConfigContext","DefaultRenderEmpty","useSize","useBreakpoint","defaultLocale","Pagination","Spin","useToken","renderExpandIcon","useContainerWidth","useFilter","getFilterData","useLazyKVMap","usePagination","DEFAULT_PAGE_SIZE","getPaginationParam","useSelection","useSorter","getSortData","useTitleColumns","RcTable","RcVirtualTable","useStyle","EMPTY_LIST","InternalTable","props","ref","prefixCls","customizePrefixCls","className","rootClassName","style","size","customizeSize","bordered","dropdownPrefixCls","customizeDropdownPrefixCls","dataSource","pagination","rowSelection","rowKey","rowClassName","columns","children","childrenColumnName","legacyChildrenColumnName","onChange","getPopupContainer","loading","expandIcon","expandable","expandedRowRender","expandIconColumnIndex","indentSize","scroll","sortDirections","locale","showSorterTooltip","virtual","warning","process","env","NODE_ENV","length","baseColumns","useMemo","needResponsive","some","col","responsive","screens","mergedColumns","matched","Set","Object","keys","filter","m","c","r","has","tableProps","contextLocale","direction","table","renderEmpty","getPrefixCls","getContextPopupContainer","useContext","mergedSize","tableLocale","assign","Table","rawData","mergedExpandable","expandType","item","internalRefs","body","useRef","getContainerWidth","getRowKey","record","getRecordByKey","changeEventInfo","triggerOnChange","info","action","reset","arguments","undefined","_a","_b","_c","changeInfo","resetPagination","call","current","pageSize","scrollToFirstRowOnChange","getContainer","filters","sorter","currentDataSource","sorterStates","filterStates","onSorterChange","transformSorterColumns","sortStates","sorterTitleProps","getSorters","sortedData","onFilterChange","transformFilterColumns","mergedData","columnTitleProps","mergedFilters","forEach","filterKey","transformTitleColumns","onPaginationChange","mergedPagination","pageData","total","slice","transformSelectionColumns","selectedKeySet","data","internalRowClassName","index","indent","mergedRowClassName","__PARENT_RENDER_ICON__","transformColumns","useCallback","innerColumns","topPaginationNode","bottomPaginationNode","paginationSize","renderPagination","position","createElement","defaultPosition","Array","isArray","topPos","find","p","includes","bottomPos","isDisable","every","toLowerCase","replace","spinProps","spinning","wrapSSR","hashId","token","wrapperClassNames","mergedStyle","emptyText","componentName","TableComponent","virtualProps","listItemHeight","fontSize","lineHeight","padding","paddingXS","paddingSM","fontHeight","Math","floor","internalHooks","forwardRef"],"sources":["/Users/chrishaack/UC_Trains_Voice/react-demo/node_modules/antd/es/table/InternalTable.js"],"sourcesContent":["\"use client\";\n\nimport * as React from 'react';\nimport classNames from 'classnames';\nimport { INTERNAL_HOOKS } from 'rc-table';\nimport { convertChildrenToColumns } from \"rc-table/es/hooks/useColumns\";\nimport omit from \"rc-util/es/omit\";\nimport scrollTo from '../_util/scrollTo';\nimport { devUseWarning } from '../_util/warning';\nimport { ConfigContext } from '../config-provider/context';\nimport DefaultRenderEmpty from '../config-provider/defaultRenderEmpty';\nimport useSize from '../config-provider/hooks/useSize';\nimport useBreakpoint from '../grid/hooks/useBreakpoint';\nimport defaultLocale from '../locale/en_US';\nimport Pagination from '../pagination';\nimport Spin from '../spin';\nimport { useToken } from '../theme/internal';\nimport renderExpandIcon from './ExpandIcon';\nimport useContainerWidth from './hooks/useContainerWidth';\nimport useFilter, { getFilterData } from './hooks/useFilter';\nimport useLazyKVMap from './hooks/useLazyKVMap';\nimport usePagination, { DEFAULT_PAGE_SIZE, getPaginationParam } from './hooks/usePagination';\nimport useSelection from './hooks/useSelection';\nimport useSorter, { getSortData } from './hooks/useSorter';\nimport useTitleColumns from './hooks/useTitleColumns';\nimport RcTable from './RcTable';\nimport RcVirtualTable from './RcTable/VirtualTable';\nimport useStyle from './style';\nconst EMPTY_LIST = [];\nconst InternalTable = (props, ref) => {\n  const {\n    prefixCls: customizePrefixCls,\n    className,\n    rootClassName,\n    style,\n    size: customizeSize,\n    bordered,\n    dropdownPrefixCls: customizeDropdownPrefixCls,\n    dataSource,\n    pagination,\n    rowSelection,\n    rowKey = 'key',\n    rowClassName,\n    columns,\n    children,\n    childrenColumnName: legacyChildrenColumnName,\n    onChange,\n    getPopupContainer,\n    loading,\n    expandIcon,\n    expandable,\n    expandedRowRender,\n    expandIconColumnIndex,\n    indentSize,\n    scroll,\n    sortDirections,\n    locale,\n    showSorterTooltip = true,\n    virtual\n  } = props;\n  const warning = devUseWarning('Table');\n  if (process.env.NODE_ENV !== 'production') {\n    process.env.NODE_ENV !== \"production\" ? warning(!(typeof rowKey === 'function' && rowKey.length > 1), 'usage', '`index` parameter of `rowKey` function is deprecated. There is no guarantee that it will work as expected.') : void 0;\n  }\n  const baseColumns = React.useMemo(() => columns || convertChildrenToColumns(children), [columns, children]);\n  const needResponsive = React.useMemo(() => baseColumns.some(col => col.responsive), [baseColumns]);\n  const screens = useBreakpoint(needResponsive);\n  const mergedColumns = React.useMemo(() => {\n    const matched = new Set(Object.keys(screens).filter(m => screens[m]));\n    return baseColumns.filter(c => !c.responsive || c.responsive.some(r => matched.has(r)));\n  }, [baseColumns, screens]);\n  const tableProps = omit(props, ['className', 'style', 'columns']);\n  const {\n    locale: contextLocale = defaultLocale,\n    direction,\n    table,\n    renderEmpty,\n    getPrefixCls,\n    getPopupContainer: getContextPopupContainer\n  } = React.useContext(ConfigContext);\n  const mergedSize = useSize(customizeSize);\n  const tableLocale = Object.assign(Object.assign({}, contextLocale.Table), locale);\n  const rawData = dataSource || EMPTY_LIST;\n  const prefixCls = getPrefixCls('table', customizePrefixCls);\n  const dropdownPrefixCls = getPrefixCls('dropdown', customizeDropdownPrefixCls);\n  const mergedExpandable = Object.assign({\n    childrenColumnName: legacyChildrenColumnName,\n    expandIconColumnIndex\n  }, expandable);\n  const {\n    childrenColumnName = 'children'\n  } = mergedExpandable;\n  const expandType = React.useMemo(() => {\n    if (rawData.some(item => item === null || item === void 0 ? void 0 : item[childrenColumnName])) {\n      return 'nest';\n    }\n    if (expandedRowRender || expandable && expandable.expandedRowRender) {\n      return 'row';\n    }\n    return null;\n  }, [rawData]);\n  const internalRefs = {\n    body: React.useRef()\n  };\n  // ============================ Width =============================\n  const getContainerWidth = useContainerWidth(prefixCls);\n  // ============================ RowKey ============================\n  const getRowKey = React.useMemo(() => {\n    if (typeof rowKey === 'function') {\n      return rowKey;\n    }\n    return record => record === null || record === void 0 ? void 0 : record[rowKey];\n  }, [rowKey]);\n  const [getRecordByKey] = useLazyKVMap(rawData, childrenColumnName, getRowKey);\n  // ============================ Events =============================\n  const changeEventInfo = {};\n  const triggerOnChange = function (info, action) {\n    let reset = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : false;\n    var _a, _b, _c;\n    const changeInfo = Object.assign(Object.assign({}, changeEventInfo), info);\n    if (reset) {\n      (_a = changeEventInfo.resetPagination) === null || _a === void 0 ? void 0 : _a.call(changeEventInfo);\n      // Reset event param\n      if ((_b = changeInfo.pagination) === null || _b === void 0 ? void 0 : _b.current) {\n        changeInfo.pagination.current = 1;\n      }\n      // Trigger pagination events\n      if (pagination && pagination.onChange) {\n        pagination.onChange(1, (_c = changeInfo.pagination) === null || _c === void 0 ? void 0 : _c.pageSize);\n      }\n    }\n    if (scroll && scroll.scrollToFirstRowOnChange !== false && internalRefs.body.current) {\n      scrollTo(0, {\n        getContainer: () => internalRefs.body.current\n      });\n    }\n    onChange === null || onChange === void 0 ? void 0 : onChange(changeInfo.pagination, changeInfo.filters, changeInfo.sorter, {\n      currentDataSource: getFilterData(getSortData(rawData, changeInfo.sorterStates, childrenColumnName), changeInfo.filterStates),\n      action\n    });\n  };\n  /**\n   * Controlled state in `columns` is not a good idea that makes too many code (1000+ line?) to read\n   * state out and then put it back to title render. Move these code into `hooks` but still too\n   * complex. We should provides Table props like `sorter` & `filter` to handle control in next big\n   * version.\n   */\n  // ============================ Sorter =============================\n  const onSorterChange = (sorter, sorterStates) => {\n    triggerOnChange({\n      sorter,\n      sorterStates\n    }, 'sort', false);\n  };\n  const [transformSorterColumns, sortStates, sorterTitleProps, getSorters] = useSorter({\n    prefixCls,\n    mergedColumns,\n    onSorterChange,\n    sortDirections: sortDirections || ['ascend', 'descend'],\n    tableLocale,\n    showSorterTooltip\n  });\n  const sortedData = React.useMemo(() => getSortData(rawData, sortStates, childrenColumnName), [rawData, sortStates]);\n  changeEventInfo.sorter = getSorters();\n  changeEventInfo.sorterStates = sortStates;\n  // ============================ Filter ============================\n  const onFilterChange = (filters, filterStates) => {\n    triggerOnChange({\n      filters,\n      filterStates\n    }, 'filter', true);\n  };\n  const [transformFilterColumns, filterStates, filters] = useFilter({\n    prefixCls,\n    locale: tableLocale,\n    dropdownPrefixCls,\n    mergedColumns,\n    onFilterChange,\n    getPopupContainer: getPopupContainer || getContextPopupContainer\n  });\n  const mergedData = getFilterData(sortedData, filterStates);\n  changeEventInfo.filters = filters;\n  changeEventInfo.filterStates = filterStates;\n  // ============================ Column ============================\n  const columnTitleProps = React.useMemo(() => {\n    const mergedFilters = {};\n    Object.keys(filters).forEach(filterKey => {\n      if (filters[filterKey] !== null) {\n        mergedFilters[filterKey] = filters[filterKey];\n      }\n    });\n    return Object.assign(Object.assign({}, sorterTitleProps), {\n      filters: mergedFilters\n    });\n  }, [sorterTitleProps, filters]);\n  const [transformTitleColumns] = useTitleColumns(columnTitleProps);\n  // ========================== Pagination ==========================\n  const onPaginationChange = (current, pageSize) => {\n    triggerOnChange({\n      pagination: Object.assign(Object.assign({}, changeEventInfo.pagination), {\n        current,\n        pageSize\n      })\n    }, 'paginate');\n  };\n  const [mergedPagination, resetPagination] = usePagination(mergedData.length, onPaginationChange, pagination);\n  changeEventInfo.pagination = pagination === false ? {} : getPaginationParam(mergedPagination, pagination);\n  changeEventInfo.resetPagination = resetPagination;\n  // ============================= Data =============================\n  const pageData = React.useMemo(() => {\n    if (pagination === false || !mergedPagination.pageSize) {\n      return mergedData;\n    }\n    const {\n      current = 1,\n      total,\n      pageSize = DEFAULT_PAGE_SIZE\n    } = mergedPagination;\n    process.env.NODE_ENV !== \"production\" ? warning(current > 0, 'usage', '`current` should be positive number.') : void 0;\n    // Dynamic table data\n    if (mergedData.length < total) {\n      if (mergedData.length > pageSize) {\n        process.env.NODE_ENV !== \"production\" ? warning(false, 'usage', '`dataSource` length is less than `pagination.total` but large than `pagination.pageSize`. Please make sure your config correct data with async mode.') : void 0;\n        return mergedData.slice((current - 1) * pageSize, current * pageSize);\n      }\n      return mergedData;\n    }\n    return mergedData.slice((current - 1) * pageSize, current * pageSize);\n  }, [!!pagination, mergedData, mergedPagination && mergedPagination.current, mergedPagination && mergedPagination.pageSize, mergedPagination && mergedPagination.total]);\n  // ========================== Selections ==========================\n  const [transformSelectionColumns, selectedKeySet] = useSelection({\n    prefixCls,\n    data: mergedData,\n    pageData,\n    getRowKey,\n    getRecordByKey,\n    expandType,\n    childrenColumnName,\n    locale: tableLocale,\n    getPopupContainer: getPopupContainer || getContextPopupContainer\n  }, rowSelection);\n  const internalRowClassName = (record, index, indent) => {\n    let mergedRowClassName;\n    if (typeof rowClassName === 'function') {\n      mergedRowClassName = classNames(rowClassName(record, index, indent));\n    } else {\n      mergedRowClassName = classNames(rowClassName);\n    }\n    return classNames({\n      [`${prefixCls}-row-selected`]: selectedKeySet.has(getRowKey(record, index))\n    }, mergedRowClassName);\n  };\n  // ========================== Expandable ==========================\n  // Pass origin render status into `rc-table`, this can be removed when refactor with `rc-table`\n  mergedExpandable.__PARENT_RENDER_ICON__ = mergedExpandable.expandIcon;\n  // Customize expandable icon\n  mergedExpandable.expandIcon = mergedExpandable.expandIcon || expandIcon || renderExpandIcon(tableLocale);\n  // Adjust expand icon index, no overwrite expandIconColumnIndex if set.\n  if (expandType === 'nest' && mergedExpandable.expandIconColumnIndex === undefined) {\n    mergedExpandable.expandIconColumnIndex = rowSelection ? 1 : 0;\n  } else if (mergedExpandable.expandIconColumnIndex > 0 && rowSelection) {\n    mergedExpandable.expandIconColumnIndex -= 1;\n  }\n  // Indent size\n  if (typeof mergedExpandable.indentSize !== 'number') {\n    mergedExpandable.indentSize = typeof indentSize === 'number' ? indentSize : 15;\n  }\n  // ============================ Render ============================\n  const transformColumns = React.useCallback(innerColumns => transformTitleColumns(transformSelectionColumns(transformFilterColumns(transformSorterColumns(innerColumns)))), [transformSorterColumns, transformFilterColumns, transformSelectionColumns]);\n  let topPaginationNode;\n  let bottomPaginationNode;\n  if (pagination !== false && (mergedPagination === null || mergedPagination === void 0 ? void 0 : mergedPagination.total)) {\n    let paginationSize;\n    if (mergedPagination.size) {\n      paginationSize = mergedPagination.size;\n    } else {\n      paginationSize = mergedSize === 'small' || mergedSize === 'middle' ? 'small' : undefined;\n    }\n    const renderPagination = position => /*#__PURE__*/React.createElement(Pagination, Object.assign({}, mergedPagination, {\n      className: classNames(`${prefixCls}-pagination ${prefixCls}-pagination-${position}`, mergedPagination.className),\n      size: paginationSize\n    }));\n    const defaultPosition = direction === 'rtl' ? 'left' : 'right';\n    const {\n      position\n    } = mergedPagination;\n    if (position !== null && Array.isArray(position)) {\n      const topPos = position.find(p => p.includes('top'));\n      const bottomPos = position.find(p => p.includes('bottom'));\n      const isDisable = position.every(p => `${p}` === 'none');\n      if (!topPos && !bottomPos && !isDisable) {\n        bottomPaginationNode = renderPagination(defaultPosition);\n      }\n      if (topPos) {\n        topPaginationNode = renderPagination(topPos.toLowerCase().replace('top', ''));\n      }\n      if (bottomPos) {\n        bottomPaginationNode = renderPagination(bottomPos.toLowerCase().replace('bottom', ''));\n      }\n    } else {\n      bottomPaginationNode = renderPagination(defaultPosition);\n    }\n  }\n  // >>>>>>>>> Spinning\n  let spinProps;\n  if (typeof loading === 'boolean') {\n    spinProps = {\n      spinning: loading\n    };\n  } else if (typeof loading === 'object') {\n    spinProps = Object.assign({\n      spinning: true\n    }, loading);\n  }\n  // Style\n  const [wrapSSR, hashId] = useStyle(prefixCls);\n  const [, token] = useToken();\n  const wrapperClassNames = classNames(`${prefixCls}-wrapper`, table === null || table === void 0 ? void 0 : table.className, {\n    [`${prefixCls}-wrapper-rtl`]: direction === 'rtl'\n  }, className, rootClassName, hashId);\n  const mergedStyle = Object.assign(Object.assign({}, table === null || table === void 0 ? void 0 : table.style), style);\n  const emptyText = locale && locale.emptyText || (renderEmpty === null || renderEmpty === void 0 ? void 0 : renderEmpty('Table')) || /*#__PURE__*/React.createElement(DefaultRenderEmpty, {\n    componentName: \"Table\"\n  });\n  // ========================== Render ==========================\n  const TableComponent = virtual ? RcVirtualTable : RcTable;\n  // >>> Virtual Table props. We set height here since it will affect height collection\n  const virtualProps = {};\n  const listItemHeight = React.useMemo(() => {\n    const {\n      fontSize,\n      lineHeight,\n      padding,\n      paddingXS,\n      paddingSM\n    } = token;\n    const fontHeight = Math.floor(fontSize * lineHeight);\n    switch (mergedSize) {\n      case 'large':\n        return padding * 2 + fontHeight;\n      case 'small':\n        return paddingXS * 2 + fontHeight;\n      default:\n        return paddingSM * 2 + fontHeight;\n    }\n  }, [token, mergedSize]);\n  if (virtual) {\n    virtualProps.listItemHeight = listItemHeight;\n  }\n  return wrapSSR( /*#__PURE__*/React.createElement(\"div\", {\n    ref: ref,\n    className: wrapperClassNames,\n    style: mergedStyle\n  }, /*#__PURE__*/React.createElement(Spin, Object.assign({\n    spinning: false\n  }, spinProps), topPaginationNode, /*#__PURE__*/React.createElement(TableComponent, Object.assign({}, virtualProps, tableProps, {\n    columns: mergedColumns,\n    direction: direction,\n    expandable: mergedExpandable,\n    prefixCls: prefixCls,\n    className: classNames({\n      [`${prefixCls}-middle`]: mergedSize === 'middle',\n      [`${prefixCls}-small`]: mergedSize === 'small',\n      [`${prefixCls}-bordered`]: bordered,\n      [`${prefixCls}-empty`]: rawData.length === 0\n    }),\n    data: pageData,\n    rowKey: getRowKey,\n    rowClassName: internalRowClassName,\n    emptyText: emptyText,\n    // Internal\n    internalHooks: INTERNAL_HOOKS,\n    internalRefs: internalRefs,\n    transformColumns: transformColumns,\n    getContainerWidth: getContainerWidth\n  })), bottomPaginationNode)));\n};\nexport default /*#__PURE__*/React.forwardRef(InternalTable);"],"mappings":"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"},"metadata":{},"sourceType":"module","externalDependencies":[]}