{"ast":null,"code":"import _defineProperty from \"@babel/runtime/helpers/esm/defineProperty\";\nimport _extends from \"@babel/runtime/helpers/esm/extends\";\nimport _slicedToArray from \"@babel/runtime/helpers/esm/slicedToArray\";\nimport _objectSpread from \"@babel/runtime/helpers/esm/objectSpread2\";\n/**\n * Feature:\n *  - fixed not need to set width\n *  - support `rowExpandable` to config row expand logic\n *  - add `summary` to support `() => ReactNode`\n *\n * Update:\n *  - `dataIndex` is `array[]` now\n *  - `expandable` wrap all the expand related props\n *\n * Removed:\n *  - expandIconAsCell\n *  - useFixedHeader\n *  - rowRef\n *  - columns[number].onCellClick\n *  - onRowClick\n *  - onRowDoubleClick\n *  - onRowMouseEnter\n *  - onRowMouseLeave\n *  - getBodyWrapper\n *  - bodyStyle\n *\n * Deprecated:\n *  - All expanded props, move into expandable\n */\n\nimport classNames from 'classnames';\nimport ResizeObserver from 'rc-resize-observer';\nimport isVisible from \"rc-util/es/Dom/isVisible\";\nimport { isStyleSupport } from \"rc-util/es/Dom/styleChecker\";\nimport { getTargetScrollBarSize } from \"rc-util/es/getScrollBarSize\";\nimport useEvent from \"rc-util/es/hooks/useEvent\";\nimport pickAttrs from \"rc-util/es/pickAttrs\";\nimport getValue from \"rc-util/es/utils/get\";\nimport warning from \"rc-util/es/warning\";\nimport * as React from 'react';\nimport Body from \"./Body\";\nimport ColGroup from \"./ColGroup\";\nimport { EXPAND_COLUMN, INTERNAL_HOOKS } from \"./constant\";\nimport TableContext, { makeImmutable } from \"./context/TableContext\";\nimport FixedHolder from \"./FixedHolder\";\nimport Footer, { FooterComponents } from \"./Footer\";\nimport Summary from \"./Footer/Summary\";\nimport Header from \"./Header/Header\";\nimport useColumns from \"./hooks/useColumns\";\nimport useExpand from \"./hooks/useExpand\";\nimport useFixedInfo from \"./hooks/useFixedInfo\";\nimport { useLayoutState, useTimeoutLock } from \"./hooks/useFrame\";\nimport useHover from \"./hooks/useHover\";\nimport useSticky from \"./hooks/useSticky\";\nimport useStickyOffsets from \"./hooks/useStickyOffsets\";\nimport Panel from \"./Panel\";\nimport StickyScrollBar from \"./stickyScrollBar\";\nimport Column from \"./sugar/Column\";\nimport ColumnGroup from \"./sugar/ColumnGroup\";\nimport { getColumnsKey, validateValue } from \"./utils/valueUtil\";\nexport var DEFAULT_PREFIX = 'rc-table';\n\n// Used for conditions cache\nvar EMPTY_DATA = [];\n\n// Used for customize scroll\nvar EMPTY_SCROLL_TARGET = {};\nfunction defaultEmpty() {\n  return 'No Data';\n}\nfunction Table(tableProps) {\n  var _classNames;\n  var props = _objectSpread({\n    rowKey: 'key',\n    prefixCls: DEFAULT_PREFIX,\n    emptyText: defaultEmpty\n  }, tableProps);\n  var prefixCls = props.prefixCls,\n    className = props.className,\n    rowClassName = props.rowClassName,\n    style = props.style,\n    data = props.data,\n    rowKey = props.rowKey,\n    scroll = props.scroll,\n    tableLayout = props.tableLayout,\n    direction = props.direction,\n    title = props.title,\n    footer = props.footer,\n    summary = props.summary,\n    caption = props.caption,\n    id = props.id,\n    showHeader = props.showHeader,\n    components = props.components,\n    emptyText = props.emptyText,\n    onRow = props.onRow,\n    onHeaderRow = props.onHeaderRow,\n    internalHooks = props.internalHooks,\n    transformColumns = props.transformColumns,\n    internalRefs = props.internalRefs,\n    tailor = props.tailor,\n    getContainerWidth = props.getContainerWidth,\n    sticky = props.sticky;\n  var mergedData = data || EMPTY_DATA;\n  var hasData = !!mergedData.length;\n  var useInternalHooks = internalHooks === INTERNAL_HOOKS;\n\n  // ===================== Warning ======================\n  if (process.env.NODE_ENV !== 'production') {\n    ['onRowClick', 'onRowDoubleClick', 'onRowContextMenu', 'onRowMouseEnter', 'onRowMouseLeave'].forEach(function (name) {\n      warning(props[name] === undefined, \"`\".concat(name, \"` is removed, please use `onRow` instead.\"));\n    });\n    warning(!('getBodyWrapper' in props), '`getBodyWrapper` is deprecated, please use custom `components` instead.');\n  }\n\n  // ==================== Customize =====================\n  var getComponent = React.useCallback(function (path, defaultComponent) {\n    return getValue(components, path) || defaultComponent;\n  }, [components]);\n  var getRowKey = React.useMemo(function () {\n    if (typeof rowKey === 'function') {\n      return rowKey;\n    }\n    return function (record) {\n      var key = record && record[rowKey];\n      if (process.env.NODE_ENV !== 'production') {\n        warning(key !== undefined, 'Each record in table should have a unique `key` prop, or set `rowKey` to an unique primary key.');\n      }\n      return key;\n    };\n  }, [rowKey]);\n  var customizeScrollBody = getComponent(['body']);\n\n  // ====================== Hover =======================\n  var _useHover = useHover(),\n    _useHover2 = _slicedToArray(_useHover, 3),\n    startRow = _useHover2[0],\n    endRow = _useHover2[1],\n    onHover = _useHover2[2];\n\n  // ====================== Expand ======================\n  var _useExpand = useExpand(props, mergedData, getRowKey),\n    _useExpand2 = _slicedToArray(_useExpand, 6),\n    expandableConfig = _useExpand2[0],\n    expandableType = _useExpand2[1],\n    mergedExpandedKeys = _useExpand2[2],\n    mergedExpandIcon = _useExpand2[3],\n    mergedChildrenColumnName = _useExpand2[4],\n    onTriggerExpand = _useExpand2[5];\n\n  // ====================== Column ======================\n  var scrollX = scroll === null || scroll === void 0 ? void 0 : scroll.x;\n  var _React$useState = React.useState(0),\n    _React$useState2 = _slicedToArray(_React$useState, 2),\n    componentWidth = _React$useState2[0],\n    setComponentWidth = _React$useState2[1];\n  var _useColumns = useColumns(_objectSpread(_objectSpread(_objectSpread({}, props), expandableConfig), {}, {\n      expandable: !!expandableConfig.expandedRowRender,\n      columnTitle: expandableConfig.columnTitle,\n      expandedKeys: mergedExpandedKeys,\n      getRowKey: getRowKey,\n      // https://github.com/ant-design/ant-design/issues/23894\n      onTriggerExpand: onTriggerExpand,\n      expandIcon: mergedExpandIcon,\n      expandIconColumnIndex: expandableConfig.expandIconColumnIndex,\n      direction: direction,\n      scrollWidth: useInternalHooks && tailor && typeof scrollX === 'number' ? scrollX : null,\n      clientWidth: componentWidth\n    }), useInternalHooks ? transformColumns : null),\n    _useColumns2 = _slicedToArray(_useColumns, 3),\n    columns = _useColumns2[0],\n    flattenColumns = _useColumns2[1],\n    flattenScrollX = _useColumns2[2];\n  var mergedScrollX = flattenScrollX !== null && flattenScrollX !== void 0 ? flattenScrollX : scrollX;\n  var columnContext = React.useMemo(function () {\n    return {\n      columns: columns,\n      flattenColumns: flattenColumns\n    };\n  }, [columns, flattenColumns]);\n\n  // ====================== Scroll ======================\n  var fullTableRef = React.useRef();\n  var scrollHeaderRef = React.useRef();\n  var scrollBodyRef = React.useRef();\n  var scrollBodyContainerRef = React.useRef();\n  var scrollSummaryRef = React.useRef();\n  var _React$useState3 = React.useState(false),\n    _React$useState4 = _slicedToArray(_React$useState3, 2),\n    pingedLeft = _React$useState4[0],\n    setPingedLeft = _React$useState4[1];\n  var _React$useState5 = React.useState(false),\n    _React$useState6 = _slicedToArray(_React$useState5, 2),\n    pingedRight = _React$useState6[0],\n    setPingedRight = _React$useState6[1];\n  var _useLayoutState = useLayoutState(new Map()),\n    _useLayoutState2 = _slicedToArray(_useLayoutState, 2),\n    colsWidths = _useLayoutState2[0],\n    updateColsWidths = _useLayoutState2[1];\n\n  // Convert map to number width\n  var colsKeys = getColumnsKey(flattenColumns);\n  var pureColWidths = colsKeys.map(function (columnKey) {\n    return colsWidths.get(columnKey);\n  });\n  var colWidths = React.useMemo(function () {\n    return pureColWidths;\n  }, [pureColWidths.join('_')]);\n  var stickyOffsets = useStickyOffsets(colWidths, flattenColumns.length, direction);\n  var fixHeader = scroll && validateValue(scroll.y);\n  var horizonScroll = scroll && validateValue(mergedScrollX) || Boolean(expandableConfig.fixed);\n  var fixColumn = horizonScroll && flattenColumns.some(function (_ref) {\n    var fixed = _ref.fixed;\n    return fixed;\n  });\n\n  // Sticky\n  var stickyRef = React.useRef();\n  var _useSticky = useSticky(sticky, prefixCls),\n    isSticky = _useSticky.isSticky,\n    offsetHeader = _useSticky.offsetHeader,\n    offsetSummary = _useSticky.offsetSummary,\n    offsetScroll = _useSticky.offsetScroll,\n    stickyClassName = _useSticky.stickyClassName,\n    container = _useSticky.container;\n\n  // Footer (Fix footer must fixed header)\n  var summaryNode = React.useMemo(function () {\n    return summary === null || summary === void 0 ? void 0 : summary(mergedData);\n  }, [summary, mergedData]);\n  var fixFooter = (fixHeader || isSticky) && /*#__PURE__*/React.isValidElement(summaryNode) && summaryNode.type === Summary && summaryNode.props.fixed;\n\n  // Scroll\n  var scrollXStyle;\n  var scrollYStyle;\n  var scrollTableStyle;\n  if (fixHeader) {\n    scrollYStyle = {\n      overflowY: 'scroll',\n      maxHeight: scroll.y\n    };\n  }\n  if (horizonScroll) {\n    scrollXStyle = {\n      overflowX: 'auto'\n    };\n    // When no vertical scrollbar, should hide it\n    // https://github.com/ant-design/ant-design/pull/20705\n    // https://github.com/ant-design/ant-design/issues/21879\n    if (!fixHeader) {\n      scrollYStyle = {\n        overflowY: 'hidden'\n      };\n    }\n    scrollTableStyle = {\n      width: mergedScrollX === true ? 'auto' : mergedScrollX,\n      minWidth: '100%'\n    };\n  }\n  var onColumnResize = React.useCallback(function (columnKey, width) {\n    if (isVisible(fullTableRef.current)) {\n      updateColsWidths(function (widths) {\n        if (widths.get(columnKey) !== width) {\n          var newWidths = new Map(widths);\n          newWidths.set(columnKey, width);\n          return newWidths;\n        }\n        return widths;\n      });\n    }\n  }, []);\n  var _useTimeoutLock = useTimeoutLock(null),\n    _useTimeoutLock2 = _slicedToArray(_useTimeoutLock, 2),\n    setScrollTarget = _useTimeoutLock2[0],\n    getScrollTarget = _useTimeoutLock2[1];\n  function forceScroll(scrollLeft, target) {\n    if (!target) {\n      return;\n    }\n    if (typeof target === 'function') {\n      target(scrollLeft);\n    } else if (target.scrollLeft !== scrollLeft) {\n      target.scrollLeft = scrollLeft;\n\n      // Delay to force scroll position if not sync\n      // ref: https://github.com/ant-design/ant-design/issues/37179\n      if (target.scrollLeft !== scrollLeft) {\n        setTimeout(function () {\n          target.scrollLeft = scrollLeft;\n        }, 0);\n      }\n    }\n  }\n  var onScroll = useEvent(function (_ref2) {\n    var currentTarget = _ref2.currentTarget,\n      scrollLeft = _ref2.scrollLeft;\n    var isRTL = direction === 'rtl';\n    var mergedScrollLeft = typeof scrollLeft === 'number' ? scrollLeft : currentTarget.scrollLeft;\n    var compareTarget = currentTarget || EMPTY_SCROLL_TARGET;\n    if (!getScrollTarget() || getScrollTarget() === compareTarget) {\n      var _stickyRef$current;\n      setScrollTarget(compareTarget);\n      forceScroll(mergedScrollLeft, scrollHeaderRef.current);\n      forceScroll(mergedScrollLeft, scrollBodyRef.current);\n      forceScroll(mergedScrollLeft, scrollSummaryRef.current);\n      forceScroll(mergedScrollLeft, (_stickyRef$current = stickyRef.current) === null || _stickyRef$current === void 0 ? void 0 : _stickyRef$current.setScrollLeft);\n    }\n    var measureTarget = currentTarget || scrollHeaderRef.current;\n    if (measureTarget) {\n      var scrollWidth = measureTarget.scrollWidth,\n        clientWidth = measureTarget.clientWidth;\n      // There is no space to scroll\n      if (scrollWidth === clientWidth) {\n        setPingedLeft(false);\n        setPingedRight(false);\n        return;\n      }\n      if (isRTL) {\n        setPingedLeft(-mergedScrollLeft < scrollWidth - clientWidth);\n        setPingedRight(-mergedScrollLeft > 0);\n      } else {\n        setPingedLeft(mergedScrollLeft > 0);\n        setPingedRight(mergedScrollLeft < scrollWidth - clientWidth);\n      }\n    }\n  });\n  var triggerOnScroll = function triggerOnScroll() {\n    if (horizonScroll && scrollBodyRef.current) {\n      onScroll({\n        currentTarget: scrollBodyRef.current\n      });\n    } else {\n      setPingedLeft(false);\n      setPingedRight(false);\n    }\n  };\n  var onFullTableResize = function onFullTableResize(_ref3) {\n    var width = _ref3.width;\n    var mergedWidth = fullTableRef.current ? fullTableRef.current.offsetWidth : width;\n    if (useInternalHooks && getContainerWidth && fullTableRef.current) {\n      mergedWidth = getContainerWidth(fullTableRef.current, mergedWidth) || mergedWidth;\n    }\n    if (mergedWidth !== componentWidth) {\n      triggerOnScroll();\n      setComponentWidth(mergedWidth);\n    }\n  };\n\n  // Sync scroll bar when init or `horizonScroll`, `data` and `columns.length` changed\n  var mounted = React.useRef(false);\n  React.useEffect(function () {\n    // onFullTableResize will be trigger once when ResizeObserver is mounted\n    // This will reduce one duplicated triggerOnScroll time\n    if (mounted.current) {\n      triggerOnScroll();\n    }\n  }, [horizonScroll, data, columns.length]);\n  React.useEffect(function () {\n    mounted.current = true;\n  }, []);\n\n  // ===================== Effects ======================\n  var _React$useState7 = React.useState(0),\n    _React$useState8 = _slicedToArray(_React$useState7, 2),\n    scrollbarSize = _React$useState8[0],\n    setScrollbarSize = _React$useState8[1];\n  var _React$useState9 = React.useState(true),\n    _React$useState10 = _slicedToArray(_React$useState9, 2),\n    supportSticky = _React$useState10[0],\n    setSupportSticky = _React$useState10[1]; // Only IE not support, we mark as support first\n\n  React.useEffect(function () {\n    if (!tailor || !useInternalHooks) {\n      if (scrollBodyRef.current instanceof Element) {\n        setScrollbarSize(getTargetScrollBarSize(scrollBodyRef.current).width);\n      } else {\n        setScrollbarSize(getTargetScrollBarSize(scrollBodyContainerRef.current).width);\n      }\n    }\n    setSupportSticky(isStyleSupport('position', 'sticky'));\n  }, []);\n\n  // ================== INTERNAL HOOKS ==================\n  React.useEffect(function () {\n    if (useInternalHooks && internalRefs) {\n      internalRefs.body.current = scrollBodyRef.current;\n    }\n  });\n\n  // ========================================================================\n  // ==                               Render                               ==\n  // ========================================================================\n  // =================== Render: Func ===================\n  var renderFixedHeaderTable = React.useCallback(function (fixedHolderPassProps) {\n    return /*#__PURE__*/React.createElement(React.Fragment, null, /*#__PURE__*/React.createElement(Header, fixedHolderPassProps), fixFooter === 'top' && /*#__PURE__*/React.createElement(Footer, fixedHolderPassProps, summaryNode));\n  }, [fixFooter, summaryNode]);\n  var renderFixedFooterTable = React.useCallback(function (fixedHolderPassProps) {\n    return /*#__PURE__*/React.createElement(Footer, fixedHolderPassProps, summaryNode);\n  }, [summaryNode]);\n\n  // =================== Render: Node ===================\n  var TableComponent = getComponent(['table'], 'table');\n\n  // Table layout\n  var mergedTableLayout = React.useMemo(function () {\n    if (tableLayout) {\n      return tableLayout;\n    }\n    // https://github.com/ant-design/ant-design/issues/25227\n    // When scroll.x is max-content, no need to fix table layout\n    // it's width should stretch out to fit content\n    if (fixColumn) {\n      return mergedScrollX === 'max-content' ? 'auto' : 'fixed';\n    }\n    if (fixHeader || isSticky || flattenColumns.some(function (_ref4) {\n      var ellipsis = _ref4.ellipsis;\n      return ellipsis;\n    })) {\n      return 'fixed';\n    }\n    return 'auto';\n  }, [fixHeader, fixColumn, flattenColumns, tableLayout, isSticky]);\n  var groupTableNode;\n\n  // Header props\n  var headerProps = {\n    colWidths: colWidths,\n    columCount: flattenColumns.length,\n    stickyOffsets: stickyOffsets,\n    onHeaderRow: onHeaderRow,\n    fixHeader: fixHeader,\n    scroll: scroll\n  };\n\n  // Empty\n  var emptyNode = React.useMemo(function () {\n    if (hasData) {\n      return null;\n    }\n    if (typeof emptyText === 'function') {\n      return emptyText();\n    }\n    return emptyText;\n  }, [hasData, emptyText]);\n\n  // Body\n  var bodyTable = /*#__PURE__*/React.createElement(Body, {\n    data: mergedData,\n    measureColumnWidth: fixHeader || horizonScroll || isSticky\n  });\n  var bodyColGroup = /*#__PURE__*/React.createElement(ColGroup, {\n    colWidths: flattenColumns.map(function (_ref5) {\n      var width = _ref5.width;\n      return width;\n    }),\n    columns: flattenColumns\n  });\n  var captionElement = caption !== null && caption !== undefined ? /*#__PURE__*/React.createElement(\"caption\", {\n    className: \"\".concat(prefixCls, \"-caption\")\n  }, caption) : undefined;\n  var dataProps = pickAttrs(props, {\n    data: true\n  });\n  var ariaProps = pickAttrs(props, {\n    aria: true\n  });\n  if (fixHeader || isSticky) {\n    // >>>>>> Fixed Header\n    var bodyContent;\n    if (typeof customizeScrollBody === 'function') {\n      bodyContent = customizeScrollBody(mergedData, {\n        scrollbarSize: scrollbarSize,\n        ref: scrollBodyRef,\n        onScroll: onScroll\n      });\n      headerProps.colWidths = flattenColumns.map(function (_ref6, index) {\n        var width = _ref6.width;\n        var colWidth = index === flattenColumns.length - 1 ? width - scrollbarSize : width;\n        if (typeof colWidth === 'number' && !Number.isNaN(colWidth)) {\n          return colWidth;\n        }\n        if (process.env.NODE_ENV !== 'production') {\n          warning(props.columns.length === 0, 'When use `components.body` with render props. Each column should have a fixed `width` value.');\n        }\n        return 0;\n      });\n    } else {\n      bodyContent = /*#__PURE__*/React.createElement(\"div\", {\n        style: _objectSpread(_objectSpread({}, scrollXStyle), scrollYStyle),\n        onScroll: onScroll,\n        ref: scrollBodyRef,\n        className: classNames(\"\".concat(prefixCls, \"-body\"))\n      }, /*#__PURE__*/React.createElement(TableComponent, _extends({\n        style: _objectSpread(_objectSpread({}, scrollTableStyle), {}, {\n          tableLayout: mergedTableLayout\n        })\n      }, ariaProps), captionElement, bodyColGroup, bodyTable, !fixFooter && summaryNode && /*#__PURE__*/React.createElement(Footer, {\n        stickyOffsets: stickyOffsets,\n        flattenColumns: flattenColumns,\n        columns: columns\n      }, summaryNode)));\n    }\n\n    // Fixed holder share the props\n    var fixedHolderProps = _objectSpread(_objectSpread(_objectSpread({\n      noData: !mergedData.length,\n      maxContentScroll: horizonScroll && mergedScrollX === 'max-content'\n    }, headerProps), columnContext), {}, {\n      direction: direction,\n      stickyClassName: stickyClassName,\n      onScroll: onScroll\n    });\n    groupTableNode = /*#__PURE__*/React.createElement(React.Fragment, null, showHeader !== false && /*#__PURE__*/React.createElement(FixedHolder, _extends({}, fixedHolderProps, {\n      stickyTopOffset: offsetHeader,\n      className: \"\".concat(prefixCls, \"-header\"),\n      ref: scrollHeaderRef\n    }), renderFixedHeaderTable), bodyContent, fixFooter && fixFooter !== 'top' && /*#__PURE__*/React.createElement(FixedHolder, _extends({}, fixedHolderProps, {\n      stickyBottomOffset: offsetSummary,\n      className: \"\".concat(prefixCls, \"-summary\"),\n      ref: scrollSummaryRef\n    }), renderFixedFooterTable), isSticky && scrollBodyRef.current && scrollBodyRef.current instanceof Element && /*#__PURE__*/React.createElement(StickyScrollBar, {\n      ref: stickyRef,\n      offsetScroll: offsetScroll,\n      scrollBodyRef: scrollBodyRef,\n      onScroll: onScroll,\n      container: container\n    }));\n  } else {\n    // >>>>>> Unique table\n    groupTableNode = /*#__PURE__*/React.createElement(\"div\", {\n      style: _objectSpread(_objectSpread({}, scrollXStyle), scrollYStyle),\n      className: classNames(\"\".concat(prefixCls, \"-content\")),\n      onScroll: onScroll,\n      ref: scrollBodyRef\n    }, /*#__PURE__*/React.createElement(TableComponent, _extends({\n      style: _objectSpread(_objectSpread({}, scrollTableStyle), {}, {\n        tableLayout: mergedTableLayout\n      })\n    }, ariaProps), captionElement, bodyColGroup, showHeader !== false && /*#__PURE__*/React.createElement(Header, _extends({}, headerProps, columnContext)), bodyTable, summaryNode && /*#__PURE__*/React.createElement(Footer, {\n      stickyOffsets: stickyOffsets,\n      flattenColumns: flattenColumns,\n      columns: columns\n    }, summaryNode)));\n  }\n  var fullTable = /*#__PURE__*/React.createElement(\"div\", _extends({\n    className: classNames(prefixCls, className, (_classNames = {}, _defineProperty(_classNames, \"\".concat(prefixCls, \"-rtl\"), direction === 'rtl'), _defineProperty(_classNames, \"\".concat(prefixCls, \"-ping-left\"), pingedLeft), _defineProperty(_classNames, \"\".concat(prefixCls, \"-ping-right\"), pingedRight), _defineProperty(_classNames, \"\".concat(prefixCls, \"-layout-fixed\"), tableLayout === 'fixed'), _defineProperty(_classNames, \"\".concat(prefixCls, \"-fixed-header\"), fixHeader), _defineProperty(_classNames, \"\".concat(prefixCls, \"-fixed-column\"), fixColumn), _defineProperty(_classNames, \"\".concat(prefixCls, \"-scroll-horizontal\"), horizonScroll), _defineProperty(_classNames, \"\".concat(prefixCls, \"-has-fix-left\"), flattenColumns[0] && flattenColumns[0].fixed), _defineProperty(_classNames, \"\".concat(prefixCls, \"-has-fix-right\"), flattenColumns[flattenColumns.length - 1] && flattenColumns[flattenColumns.length - 1].fixed === 'right'), _classNames)),\n    style: style,\n    id: id,\n    ref: fullTableRef\n  }, dataProps), title && /*#__PURE__*/React.createElement(Panel, {\n    className: \"\".concat(prefixCls, \"-title\")\n  }, title(mergedData)), /*#__PURE__*/React.createElement(\"div\", {\n    ref: scrollBodyContainerRef,\n    className: \"\".concat(prefixCls, \"-container\")\n  }, groupTableNode), footer && /*#__PURE__*/React.createElement(Panel, {\n    className: \"\".concat(prefixCls, \"-footer\")\n  }, footer(mergedData)));\n  if (horizonScroll) {\n    fullTable = /*#__PURE__*/React.createElement(ResizeObserver, {\n      onResize: onFullTableResize\n    }, fullTable);\n  }\n  var fixedInfoList = useFixedInfo(flattenColumns, stickyOffsets, direction, columns);\n  var TableContextValue = React.useMemo(function () {\n    return {\n      // Scroll\n      scrollX: mergedScrollX,\n      // Table\n      prefixCls: prefixCls,\n      getComponent: getComponent,\n      scrollbarSize: scrollbarSize,\n      direction: direction,\n      fixedInfoList: fixedInfoList,\n      isSticky: isSticky,\n      supportSticky: supportSticky,\n      componentWidth: componentWidth,\n      fixHeader: fixHeader,\n      fixColumn: fixColumn,\n      horizonScroll: horizonScroll,\n      // Body\n      tableLayout: mergedTableLayout,\n      rowClassName: rowClassName,\n      expandedRowClassName: expandableConfig.expandedRowClassName,\n      expandIcon: mergedExpandIcon,\n      expandableType: expandableType,\n      expandRowByClick: expandableConfig.expandRowByClick,\n      expandedRowRender: expandableConfig.expandedRowRender,\n      onTriggerExpand: onTriggerExpand,\n      expandIconColumnIndex: expandableConfig.expandIconColumnIndex,\n      indentSize: expandableConfig.indentSize,\n      allColumnsFixedLeft: flattenColumns.every(function (col) {\n        return col.fixed === 'left';\n      }),\n      emptyNode: emptyNode,\n      // Column\n      columns: columns,\n      flattenColumns: flattenColumns,\n      onColumnResize: onColumnResize,\n      // Row\n      hoverStartRow: startRow,\n      hoverEndRow: endRow,\n      onHover: onHover,\n      rowExpandable: expandableConfig.rowExpandable,\n      onRow: onRow,\n      getRowKey: getRowKey,\n      expandedKeys: mergedExpandedKeys,\n      childrenColumnName: mergedChildrenColumnName\n    };\n  }, [\n  // Scroll\n  mergedScrollX,\n  // Table\n  prefixCls, getComponent, scrollbarSize, direction, fixedInfoList, isSticky, supportSticky, componentWidth, fixHeader, fixColumn, horizonScroll,\n  // Body\n  mergedTableLayout, rowClassName, expandableConfig.expandedRowClassName, mergedExpandIcon, expandableType, expandableConfig.expandRowByClick, expandableConfig.expandedRowRender, onTriggerExpand, expandableConfig.expandIconColumnIndex, expandableConfig.indentSize, emptyNode,\n  // Column\n  columns, flattenColumns, onColumnResize,\n  // Row\n  startRow, endRow, onHover, expandableConfig.rowExpandable, onRow, getRowKey, mergedExpandedKeys, mergedChildrenColumnName]);\n  return /*#__PURE__*/React.createElement(TableContext.Provider, {\n    value: TableContextValue\n  }, fullTable);\n}\nexport function genTable(shouldTriggerRender) {\n  return makeImmutable(Table, shouldTriggerRender);\n}\nvar ImmutableTable = genTable();\nImmutableTable.EXPAND_COLUMN = EXPAND_COLUMN;\nImmutableTable.INTERNAL_HOOKS = INTERNAL_HOOKS;\nImmutableTable.Column = Column;\nImmutableTable.ColumnGroup = ColumnGroup;\nImmutableTable.Summary = FooterComponents;\nexport default ImmutableTable;","map":{"version":3,"names":["_defineProperty","_extends","_slicedToArray","_objectSpread","classNames","ResizeObserver","isVisible","isStyleSupport","getTargetScrollBarSize","useEvent","pickAttrs","getValue","warning","React","Body","ColGroup","EXPAND_COLUMN","INTERNAL_HOOKS","TableContext","makeImmutable","FixedHolder","Footer","FooterComponents","Summary","Header","useColumns","useExpand","useFixedInfo","useLayoutState","useTimeoutLock","useHover","useSticky","useStickyOffsets","Panel","StickyScrollBar","Column","ColumnGroup","getColumnsKey","validateValue","DEFAULT_PREFIX","EMPTY_DATA","EMPTY_SCROLL_TARGET","defaultEmpty","Table","tableProps","_classNames","props","rowKey","prefixCls","emptyText","className","rowClassName","style","data","scroll","tableLayout","direction","title","footer","summary","caption","id","showHeader","components","onRow","onHeaderRow","internalHooks","transformColumns","internalRefs","tailor","getContainerWidth","sticky","mergedData","hasData","length","useInternalHooks","process","env","NODE_ENV","forEach","name","undefined","concat","getComponent","useCallback","path","defaultComponent","getRowKey","useMemo","record","key","customizeScrollBody","_useHover","_useHover2","startRow","endRow","onHover","_useExpand","_useExpand2","expandableConfig","expandableType","mergedExpandedKeys","mergedExpandIcon","mergedChildrenColumnName","onTriggerExpand","scrollX","x","_React$useState","useState","_React$useState2","componentWidth","setComponentWidth","_useColumns","expandable","expandedRowRender","columnTitle","expandedKeys","expandIcon","expandIconColumnIndex","scrollWidth","clientWidth","_useColumns2","columns","flattenColumns","flattenScrollX","mergedScrollX","columnContext","fullTableRef","useRef","scrollHeaderRef","scrollBodyRef","scrollBodyContainerRef","scrollSummaryRef","_React$useState3","_React$useState4","pingedLeft","setPingedLeft","_React$useState5","_React$useState6","pingedRight","setPingedRight","_useLayoutState","Map","_useLayoutState2","colsWidths","updateColsWidths","colsKeys","pureColWidths","map","columnKey","get","colWidths","join","stickyOffsets","fixHeader","y","horizonScroll","Boolean","fixed","fixColumn","some","_ref","stickyRef","_useSticky","isSticky","offsetHeader","offsetSummary","offsetScroll","stickyClassName","container","summaryNode","fixFooter","isValidElement","type","scrollXStyle","scrollYStyle","scrollTableStyle","overflowY","maxHeight","overflowX","width","minWidth","onColumnResize","current","widths","newWidths","set","_useTimeoutLock","_useTimeoutLock2","setScrollTarget","getScrollTarget","forceScroll","scrollLeft","target","setTimeout","onScroll","_ref2","currentTarget","isRTL","mergedScrollLeft","compareTarget","_stickyRef$current","setScrollLeft","measureTarget","triggerOnScroll","onFullTableResize","_ref3","mergedWidth","offsetWidth","mounted","useEffect","_React$useState7","_React$useState8","scrollbarSize","setScrollbarSize","_React$useState9","_React$useState10","supportSticky","setSupportSticky","Element","body","renderFixedHeaderTable","fixedHolderPassProps","createElement","Fragment","renderFixedFooterTable","TableComponent","mergedTableLayout","_ref4","ellipsis","groupTableNode","headerProps","columCount","emptyNode","bodyTable","measureColumnWidth","bodyColGroup","_ref5","captionElement","dataProps","ariaProps","aria","bodyContent","ref","_ref6","index","colWidth","Number","isNaN","fixedHolderProps","noData","maxContentScroll","stickyTopOffset","stickyBottomOffset","fullTable","onResize","fixedInfoList","TableContextValue","expandedRowClassName","expandRowByClick","indentSize","allColumnsFixedLeft","every","col","hoverStartRow","hoverEndRow","rowExpandable","childrenColumnName","Provider","value","genTable","shouldTriggerRender","ImmutableTable"],"sources":["/Users/chrishaack/UC_Trains_Voice/react-demo/node_modules/rc-table/es/Table.js"],"sourcesContent":["import _defineProperty from \"@babel/runtime/helpers/esm/defineProperty\";\nimport _extends from \"@babel/runtime/helpers/esm/extends\";\nimport _slicedToArray from \"@babel/runtime/helpers/esm/slicedToArray\";\nimport _objectSpread from \"@babel/runtime/helpers/esm/objectSpread2\";\n/**\n * Feature:\n *  - fixed not need to set width\n *  - support `rowExpandable` to config row expand logic\n *  - add `summary` to support `() => ReactNode`\n *\n * Update:\n *  - `dataIndex` is `array[]` now\n *  - `expandable` wrap all the expand related props\n *\n * Removed:\n *  - expandIconAsCell\n *  - useFixedHeader\n *  - rowRef\n *  - columns[number].onCellClick\n *  - onRowClick\n *  - onRowDoubleClick\n *  - onRowMouseEnter\n *  - onRowMouseLeave\n *  - getBodyWrapper\n *  - bodyStyle\n *\n * Deprecated:\n *  - All expanded props, move into expandable\n */\n\nimport classNames from 'classnames';\nimport ResizeObserver from 'rc-resize-observer';\nimport isVisible from \"rc-util/es/Dom/isVisible\";\nimport { isStyleSupport } from \"rc-util/es/Dom/styleChecker\";\nimport { getTargetScrollBarSize } from \"rc-util/es/getScrollBarSize\";\nimport useEvent from \"rc-util/es/hooks/useEvent\";\nimport pickAttrs from \"rc-util/es/pickAttrs\";\nimport getValue from \"rc-util/es/utils/get\";\nimport warning from \"rc-util/es/warning\";\nimport * as React from 'react';\nimport Body from \"./Body\";\nimport ColGroup from \"./ColGroup\";\nimport { EXPAND_COLUMN, INTERNAL_HOOKS } from \"./constant\";\nimport TableContext, { makeImmutable } from \"./context/TableContext\";\nimport FixedHolder from \"./FixedHolder\";\nimport Footer, { FooterComponents } from \"./Footer\";\nimport Summary from \"./Footer/Summary\";\nimport Header from \"./Header/Header\";\nimport useColumns from \"./hooks/useColumns\";\nimport useExpand from \"./hooks/useExpand\";\nimport useFixedInfo from \"./hooks/useFixedInfo\";\nimport { useLayoutState, useTimeoutLock } from \"./hooks/useFrame\";\nimport useHover from \"./hooks/useHover\";\nimport useSticky from \"./hooks/useSticky\";\nimport useStickyOffsets from \"./hooks/useStickyOffsets\";\nimport Panel from \"./Panel\";\nimport StickyScrollBar from \"./stickyScrollBar\";\nimport Column from \"./sugar/Column\";\nimport ColumnGroup from \"./sugar/ColumnGroup\";\nimport { getColumnsKey, validateValue } from \"./utils/valueUtil\";\nexport var DEFAULT_PREFIX = 'rc-table';\n\n// Used for conditions cache\nvar EMPTY_DATA = [];\n\n// Used for customize scroll\nvar EMPTY_SCROLL_TARGET = {};\nfunction defaultEmpty() {\n  return 'No Data';\n}\nfunction Table(tableProps) {\n  var _classNames;\n  var props = _objectSpread({\n    rowKey: 'key',\n    prefixCls: DEFAULT_PREFIX,\n    emptyText: defaultEmpty\n  }, tableProps);\n  var prefixCls = props.prefixCls,\n    className = props.className,\n    rowClassName = props.rowClassName,\n    style = props.style,\n    data = props.data,\n    rowKey = props.rowKey,\n    scroll = props.scroll,\n    tableLayout = props.tableLayout,\n    direction = props.direction,\n    title = props.title,\n    footer = props.footer,\n    summary = props.summary,\n    caption = props.caption,\n    id = props.id,\n    showHeader = props.showHeader,\n    components = props.components,\n    emptyText = props.emptyText,\n    onRow = props.onRow,\n    onHeaderRow = props.onHeaderRow,\n    internalHooks = props.internalHooks,\n    transformColumns = props.transformColumns,\n    internalRefs = props.internalRefs,\n    tailor = props.tailor,\n    getContainerWidth = props.getContainerWidth,\n    sticky = props.sticky;\n  var mergedData = data || EMPTY_DATA;\n  var hasData = !!mergedData.length;\n  var useInternalHooks = internalHooks === INTERNAL_HOOKS;\n\n  // ===================== Warning ======================\n  if (process.env.NODE_ENV !== 'production') {\n    ['onRowClick', 'onRowDoubleClick', 'onRowContextMenu', 'onRowMouseEnter', 'onRowMouseLeave'].forEach(function (name) {\n      warning(props[name] === undefined, \"`\".concat(name, \"` is removed, please use `onRow` instead.\"));\n    });\n    warning(!('getBodyWrapper' in props), '`getBodyWrapper` is deprecated, please use custom `components` instead.');\n  }\n\n  // ==================== Customize =====================\n  var getComponent = React.useCallback(function (path, defaultComponent) {\n    return getValue(components, path) || defaultComponent;\n  }, [components]);\n  var getRowKey = React.useMemo(function () {\n    if (typeof rowKey === 'function') {\n      return rowKey;\n    }\n    return function (record) {\n      var key = record && record[rowKey];\n      if (process.env.NODE_ENV !== 'production') {\n        warning(key !== undefined, 'Each record in table should have a unique `key` prop, or set `rowKey` to an unique primary key.');\n      }\n      return key;\n    };\n  }, [rowKey]);\n  var customizeScrollBody = getComponent(['body']);\n\n  // ====================== Hover =======================\n  var _useHover = useHover(),\n    _useHover2 = _slicedToArray(_useHover, 3),\n    startRow = _useHover2[0],\n    endRow = _useHover2[1],\n    onHover = _useHover2[2];\n\n  // ====================== Expand ======================\n  var _useExpand = useExpand(props, mergedData, getRowKey),\n    _useExpand2 = _slicedToArray(_useExpand, 6),\n    expandableConfig = _useExpand2[0],\n    expandableType = _useExpand2[1],\n    mergedExpandedKeys = _useExpand2[2],\n    mergedExpandIcon = _useExpand2[3],\n    mergedChildrenColumnName = _useExpand2[4],\n    onTriggerExpand = _useExpand2[5];\n\n  // ====================== Column ======================\n  var scrollX = scroll === null || scroll === void 0 ? void 0 : scroll.x;\n  var _React$useState = React.useState(0),\n    _React$useState2 = _slicedToArray(_React$useState, 2),\n    componentWidth = _React$useState2[0],\n    setComponentWidth = _React$useState2[1];\n  var _useColumns = useColumns(_objectSpread(_objectSpread(_objectSpread({}, props), expandableConfig), {}, {\n      expandable: !!expandableConfig.expandedRowRender,\n      columnTitle: expandableConfig.columnTitle,\n      expandedKeys: mergedExpandedKeys,\n      getRowKey: getRowKey,\n      // https://github.com/ant-design/ant-design/issues/23894\n      onTriggerExpand: onTriggerExpand,\n      expandIcon: mergedExpandIcon,\n      expandIconColumnIndex: expandableConfig.expandIconColumnIndex,\n      direction: direction,\n      scrollWidth: useInternalHooks && tailor && typeof scrollX === 'number' ? scrollX : null,\n      clientWidth: componentWidth\n    }), useInternalHooks ? transformColumns : null),\n    _useColumns2 = _slicedToArray(_useColumns, 3),\n    columns = _useColumns2[0],\n    flattenColumns = _useColumns2[1],\n    flattenScrollX = _useColumns2[2];\n  var mergedScrollX = flattenScrollX !== null && flattenScrollX !== void 0 ? flattenScrollX : scrollX;\n  var columnContext = React.useMemo(function () {\n    return {\n      columns: columns,\n      flattenColumns: flattenColumns\n    };\n  }, [columns, flattenColumns]);\n\n  // ====================== Scroll ======================\n  var fullTableRef = React.useRef();\n  var scrollHeaderRef = React.useRef();\n  var scrollBodyRef = React.useRef();\n  var scrollBodyContainerRef = React.useRef();\n  var scrollSummaryRef = React.useRef();\n  var _React$useState3 = React.useState(false),\n    _React$useState4 = _slicedToArray(_React$useState3, 2),\n    pingedLeft = _React$useState4[0],\n    setPingedLeft = _React$useState4[1];\n  var _React$useState5 = React.useState(false),\n    _React$useState6 = _slicedToArray(_React$useState5, 2),\n    pingedRight = _React$useState6[0],\n    setPingedRight = _React$useState6[1];\n  var _useLayoutState = useLayoutState(new Map()),\n    _useLayoutState2 = _slicedToArray(_useLayoutState, 2),\n    colsWidths = _useLayoutState2[0],\n    updateColsWidths = _useLayoutState2[1];\n\n  // Convert map to number width\n  var colsKeys = getColumnsKey(flattenColumns);\n  var pureColWidths = colsKeys.map(function (columnKey) {\n    return colsWidths.get(columnKey);\n  });\n  var colWidths = React.useMemo(function () {\n    return pureColWidths;\n  }, [pureColWidths.join('_')]);\n  var stickyOffsets = useStickyOffsets(colWidths, flattenColumns.length, direction);\n  var fixHeader = scroll && validateValue(scroll.y);\n  var horizonScroll = scroll && validateValue(mergedScrollX) || Boolean(expandableConfig.fixed);\n  var fixColumn = horizonScroll && flattenColumns.some(function (_ref) {\n    var fixed = _ref.fixed;\n    return fixed;\n  });\n\n  // Sticky\n  var stickyRef = React.useRef();\n  var _useSticky = useSticky(sticky, prefixCls),\n    isSticky = _useSticky.isSticky,\n    offsetHeader = _useSticky.offsetHeader,\n    offsetSummary = _useSticky.offsetSummary,\n    offsetScroll = _useSticky.offsetScroll,\n    stickyClassName = _useSticky.stickyClassName,\n    container = _useSticky.container;\n\n  // Footer (Fix footer must fixed header)\n  var summaryNode = React.useMemo(function () {\n    return summary === null || summary === void 0 ? void 0 : summary(mergedData);\n  }, [summary, mergedData]);\n  var fixFooter = (fixHeader || isSticky) && /*#__PURE__*/React.isValidElement(summaryNode) && summaryNode.type === Summary && summaryNode.props.fixed;\n\n  // Scroll\n  var scrollXStyle;\n  var scrollYStyle;\n  var scrollTableStyle;\n  if (fixHeader) {\n    scrollYStyle = {\n      overflowY: 'scroll',\n      maxHeight: scroll.y\n    };\n  }\n  if (horizonScroll) {\n    scrollXStyle = {\n      overflowX: 'auto'\n    };\n    // When no vertical scrollbar, should hide it\n    // https://github.com/ant-design/ant-design/pull/20705\n    // https://github.com/ant-design/ant-design/issues/21879\n    if (!fixHeader) {\n      scrollYStyle = {\n        overflowY: 'hidden'\n      };\n    }\n    scrollTableStyle = {\n      width: mergedScrollX === true ? 'auto' : mergedScrollX,\n      minWidth: '100%'\n    };\n  }\n  var onColumnResize = React.useCallback(function (columnKey, width) {\n    if (isVisible(fullTableRef.current)) {\n      updateColsWidths(function (widths) {\n        if (widths.get(columnKey) !== width) {\n          var newWidths = new Map(widths);\n          newWidths.set(columnKey, width);\n          return newWidths;\n        }\n        return widths;\n      });\n    }\n  }, []);\n  var _useTimeoutLock = useTimeoutLock(null),\n    _useTimeoutLock2 = _slicedToArray(_useTimeoutLock, 2),\n    setScrollTarget = _useTimeoutLock2[0],\n    getScrollTarget = _useTimeoutLock2[1];\n  function forceScroll(scrollLeft, target) {\n    if (!target) {\n      return;\n    }\n    if (typeof target === 'function') {\n      target(scrollLeft);\n    } else if (target.scrollLeft !== scrollLeft) {\n      target.scrollLeft = scrollLeft;\n\n      // Delay to force scroll position if not sync\n      // ref: https://github.com/ant-design/ant-design/issues/37179\n      if (target.scrollLeft !== scrollLeft) {\n        setTimeout(function () {\n          target.scrollLeft = scrollLeft;\n        }, 0);\n      }\n    }\n  }\n  var onScroll = useEvent(function (_ref2) {\n    var currentTarget = _ref2.currentTarget,\n      scrollLeft = _ref2.scrollLeft;\n    var isRTL = direction === 'rtl';\n    var mergedScrollLeft = typeof scrollLeft === 'number' ? scrollLeft : currentTarget.scrollLeft;\n    var compareTarget = currentTarget || EMPTY_SCROLL_TARGET;\n    if (!getScrollTarget() || getScrollTarget() === compareTarget) {\n      var _stickyRef$current;\n      setScrollTarget(compareTarget);\n      forceScroll(mergedScrollLeft, scrollHeaderRef.current);\n      forceScroll(mergedScrollLeft, scrollBodyRef.current);\n      forceScroll(mergedScrollLeft, scrollSummaryRef.current);\n      forceScroll(mergedScrollLeft, (_stickyRef$current = stickyRef.current) === null || _stickyRef$current === void 0 ? void 0 : _stickyRef$current.setScrollLeft);\n    }\n    var measureTarget = currentTarget || scrollHeaderRef.current;\n    if (measureTarget) {\n      var scrollWidth = measureTarget.scrollWidth,\n        clientWidth = measureTarget.clientWidth;\n      // There is no space to scroll\n      if (scrollWidth === clientWidth) {\n        setPingedLeft(false);\n        setPingedRight(false);\n        return;\n      }\n      if (isRTL) {\n        setPingedLeft(-mergedScrollLeft < scrollWidth - clientWidth);\n        setPingedRight(-mergedScrollLeft > 0);\n      } else {\n        setPingedLeft(mergedScrollLeft > 0);\n        setPingedRight(mergedScrollLeft < scrollWidth - clientWidth);\n      }\n    }\n  });\n  var triggerOnScroll = function triggerOnScroll() {\n    if (horizonScroll && scrollBodyRef.current) {\n      onScroll({\n        currentTarget: scrollBodyRef.current\n      });\n    } else {\n      setPingedLeft(false);\n      setPingedRight(false);\n    }\n  };\n  var onFullTableResize = function onFullTableResize(_ref3) {\n    var width = _ref3.width;\n    var mergedWidth = fullTableRef.current ? fullTableRef.current.offsetWidth : width;\n    if (useInternalHooks && getContainerWidth && fullTableRef.current) {\n      mergedWidth = getContainerWidth(fullTableRef.current, mergedWidth) || mergedWidth;\n    }\n    if (mergedWidth !== componentWidth) {\n      triggerOnScroll();\n      setComponentWidth(mergedWidth);\n    }\n  };\n\n  // Sync scroll bar when init or `horizonScroll`, `data` and `columns.length` changed\n  var mounted = React.useRef(false);\n  React.useEffect(function () {\n    // onFullTableResize will be trigger once when ResizeObserver is mounted\n    // This will reduce one duplicated triggerOnScroll time\n    if (mounted.current) {\n      triggerOnScroll();\n    }\n  }, [horizonScroll, data, columns.length]);\n  React.useEffect(function () {\n    mounted.current = true;\n  }, []);\n\n  // ===================== Effects ======================\n  var _React$useState7 = React.useState(0),\n    _React$useState8 = _slicedToArray(_React$useState7, 2),\n    scrollbarSize = _React$useState8[0],\n    setScrollbarSize = _React$useState8[1];\n  var _React$useState9 = React.useState(true),\n    _React$useState10 = _slicedToArray(_React$useState9, 2),\n    supportSticky = _React$useState10[0],\n    setSupportSticky = _React$useState10[1]; // Only IE not support, we mark as support first\n\n  React.useEffect(function () {\n    if (!tailor || !useInternalHooks) {\n      if (scrollBodyRef.current instanceof Element) {\n        setScrollbarSize(getTargetScrollBarSize(scrollBodyRef.current).width);\n      } else {\n        setScrollbarSize(getTargetScrollBarSize(scrollBodyContainerRef.current).width);\n      }\n    }\n    setSupportSticky(isStyleSupport('position', 'sticky'));\n  }, []);\n\n  // ================== INTERNAL HOOKS ==================\n  React.useEffect(function () {\n    if (useInternalHooks && internalRefs) {\n      internalRefs.body.current = scrollBodyRef.current;\n    }\n  });\n\n  // ========================================================================\n  // ==                               Render                               ==\n  // ========================================================================\n  // =================== Render: Func ===================\n  var renderFixedHeaderTable = React.useCallback(function (fixedHolderPassProps) {\n    return /*#__PURE__*/React.createElement(React.Fragment, null, /*#__PURE__*/React.createElement(Header, fixedHolderPassProps), fixFooter === 'top' && /*#__PURE__*/React.createElement(Footer, fixedHolderPassProps, summaryNode));\n  }, [fixFooter, summaryNode]);\n  var renderFixedFooterTable = React.useCallback(function (fixedHolderPassProps) {\n    return /*#__PURE__*/React.createElement(Footer, fixedHolderPassProps, summaryNode);\n  }, [summaryNode]);\n\n  // =================== Render: Node ===================\n  var TableComponent = getComponent(['table'], 'table');\n\n  // Table layout\n  var mergedTableLayout = React.useMemo(function () {\n    if (tableLayout) {\n      return tableLayout;\n    }\n    // https://github.com/ant-design/ant-design/issues/25227\n    // When scroll.x is max-content, no need to fix table layout\n    // it's width should stretch out to fit content\n    if (fixColumn) {\n      return mergedScrollX === 'max-content' ? 'auto' : 'fixed';\n    }\n    if (fixHeader || isSticky || flattenColumns.some(function (_ref4) {\n      var ellipsis = _ref4.ellipsis;\n      return ellipsis;\n    })) {\n      return 'fixed';\n    }\n    return 'auto';\n  }, [fixHeader, fixColumn, flattenColumns, tableLayout, isSticky]);\n  var groupTableNode;\n\n  // Header props\n  var headerProps = {\n    colWidths: colWidths,\n    columCount: flattenColumns.length,\n    stickyOffsets: stickyOffsets,\n    onHeaderRow: onHeaderRow,\n    fixHeader: fixHeader,\n    scroll: scroll\n  };\n\n  // Empty\n  var emptyNode = React.useMemo(function () {\n    if (hasData) {\n      return null;\n    }\n    if (typeof emptyText === 'function') {\n      return emptyText();\n    }\n    return emptyText;\n  }, [hasData, emptyText]);\n\n  // Body\n  var bodyTable = /*#__PURE__*/React.createElement(Body, {\n    data: mergedData,\n    measureColumnWidth: fixHeader || horizonScroll || isSticky\n  });\n  var bodyColGroup = /*#__PURE__*/React.createElement(ColGroup, {\n    colWidths: flattenColumns.map(function (_ref5) {\n      var width = _ref5.width;\n      return width;\n    }),\n    columns: flattenColumns\n  });\n  var captionElement = caption !== null && caption !== undefined ? /*#__PURE__*/React.createElement(\"caption\", {\n    className: \"\".concat(prefixCls, \"-caption\")\n  }, caption) : undefined;\n  var dataProps = pickAttrs(props, {\n    data: true\n  });\n  var ariaProps = pickAttrs(props, {\n    aria: true\n  });\n  if (fixHeader || isSticky) {\n    // >>>>>> Fixed Header\n    var bodyContent;\n    if (typeof customizeScrollBody === 'function') {\n      bodyContent = customizeScrollBody(mergedData, {\n        scrollbarSize: scrollbarSize,\n        ref: scrollBodyRef,\n        onScroll: onScroll\n      });\n      headerProps.colWidths = flattenColumns.map(function (_ref6, index) {\n        var width = _ref6.width;\n        var colWidth = index === flattenColumns.length - 1 ? width - scrollbarSize : width;\n        if (typeof colWidth === 'number' && !Number.isNaN(colWidth)) {\n          return colWidth;\n        }\n        if (process.env.NODE_ENV !== 'production') {\n          warning(props.columns.length === 0, 'When use `components.body` with render props. Each column should have a fixed `width` value.');\n        }\n        return 0;\n      });\n    } else {\n      bodyContent = /*#__PURE__*/React.createElement(\"div\", {\n        style: _objectSpread(_objectSpread({}, scrollXStyle), scrollYStyle),\n        onScroll: onScroll,\n        ref: scrollBodyRef,\n        className: classNames(\"\".concat(prefixCls, \"-body\"))\n      }, /*#__PURE__*/React.createElement(TableComponent, _extends({\n        style: _objectSpread(_objectSpread({}, scrollTableStyle), {}, {\n          tableLayout: mergedTableLayout\n        })\n      }, ariaProps), captionElement, bodyColGroup, bodyTable, !fixFooter && summaryNode && /*#__PURE__*/React.createElement(Footer, {\n        stickyOffsets: stickyOffsets,\n        flattenColumns: flattenColumns,\n        columns: columns\n      }, summaryNode)));\n    }\n\n    // Fixed holder share the props\n    var fixedHolderProps = _objectSpread(_objectSpread(_objectSpread({\n      noData: !mergedData.length,\n      maxContentScroll: horizonScroll && mergedScrollX === 'max-content'\n    }, headerProps), columnContext), {}, {\n      direction: direction,\n      stickyClassName: stickyClassName,\n      onScroll: onScroll\n    });\n    groupTableNode = /*#__PURE__*/React.createElement(React.Fragment, null, showHeader !== false && /*#__PURE__*/React.createElement(FixedHolder, _extends({}, fixedHolderProps, {\n      stickyTopOffset: offsetHeader,\n      className: \"\".concat(prefixCls, \"-header\"),\n      ref: scrollHeaderRef\n    }), renderFixedHeaderTable), bodyContent, fixFooter && fixFooter !== 'top' && /*#__PURE__*/React.createElement(FixedHolder, _extends({}, fixedHolderProps, {\n      stickyBottomOffset: offsetSummary,\n      className: \"\".concat(prefixCls, \"-summary\"),\n      ref: scrollSummaryRef\n    }), renderFixedFooterTable), isSticky && scrollBodyRef.current && scrollBodyRef.current instanceof Element && /*#__PURE__*/React.createElement(StickyScrollBar, {\n      ref: stickyRef,\n      offsetScroll: offsetScroll,\n      scrollBodyRef: scrollBodyRef,\n      onScroll: onScroll,\n      container: container\n    }));\n  } else {\n    // >>>>>> Unique table\n    groupTableNode = /*#__PURE__*/React.createElement(\"div\", {\n      style: _objectSpread(_objectSpread({}, scrollXStyle), scrollYStyle),\n      className: classNames(\"\".concat(prefixCls, \"-content\")),\n      onScroll: onScroll,\n      ref: scrollBodyRef\n    }, /*#__PURE__*/React.createElement(TableComponent, _extends({\n      style: _objectSpread(_objectSpread({}, scrollTableStyle), {}, {\n        tableLayout: mergedTableLayout\n      })\n    }, ariaProps), captionElement, bodyColGroup, showHeader !== false && /*#__PURE__*/React.createElement(Header, _extends({}, headerProps, columnContext)), bodyTable, summaryNode && /*#__PURE__*/React.createElement(Footer, {\n      stickyOffsets: stickyOffsets,\n      flattenColumns: flattenColumns,\n      columns: columns\n    }, summaryNode)));\n  }\n  var fullTable = /*#__PURE__*/React.createElement(\"div\", _extends({\n    className: classNames(prefixCls, className, (_classNames = {}, _defineProperty(_classNames, \"\".concat(prefixCls, \"-rtl\"), direction === 'rtl'), _defineProperty(_classNames, \"\".concat(prefixCls, \"-ping-left\"), pingedLeft), _defineProperty(_classNames, \"\".concat(prefixCls, \"-ping-right\"), pingedRight), _defineProperty(_classNames, \"\".concat(prefixCls, \"-layout-fixed\"), tableLayout === 'fixed'), _defineProperty(_classNames, \"\".concat(prefixCls, \"-fixed-header\"), fixHeader), _defineProperty(_classNames, \"\".concat(prefixCls, \"-fixed-column\"), fixColumn), _defineProperty(_classNames, \"\".concat(prefixCls, \"-scroll-horizontal\"), horizonScroll), _defineProperty(_classNames, \"\".concat(prefixCls, \"-has-fix-left\"), flattenColumns[0] && flattenColumns[0].fixed), _defineProperty(_classNames, \"\".concat(prefixCls, \"-has-fix-right\"), flattenColumns[flattenColumns.length - 1] && flattenColumns[flattenColumns.length - 1].fixed === 'right'), _classNames)),\n    style: style,\n    id: id,\n    ref: fullTableRef\n  }, dataProps), title && /*#__PURE__*/React.createElement(Panel, {\n    className: \"\".concat(prefixCls, \"-title\")\n  }, title(mergedData)), /*#__PURE__*/React.createElement(\"div\", {\n    ref: scrollBodyContainerRef,\n    className: \"\".concat(prefixCls, \"-container\")\n  }, groupTableNode), footer && /*#__PURE__*/React.createElement(Panel, {\n    className: \"\".concat(prefixCls, \"-footer\")\n  }, footer(mergedData)));\n  if (horizonScroll) {\n    fullTable = /*#__PURE__*/React.createElement(ResizeObserver, {\n      onResize: onFullTableResize\n    }, fullTable);\n  }\n  var fixedInfoList = useFixedInfo(flattenColumns, stickyOffsets, direction, columns);\n  var TableContextValue = React.useMemo(function () {\n    return {\n      // Scroll\n      scrollX: mergedScrollX,\n      // Table\n      prefixCls: prefixCls,\n      getComponent: getComponent,\n      scrollbarSize: scrollbarSize,\n      direction: direction,\n      fixedInfoList: fixedInfoList,\n      isSticky: isSticky,\n      supportSticky: supportSticky,\n      componentWidth: componentWidth,\n      fixHeader: fixHeader,\n      fixColumn: fixColumn,\n      horizonScroll: horizonScroll,\n      // Body\n      tableLayout: mergedTableLayout,\n      rowClassName: rowClassName,\n      expandedRowClassName: expandableConfig.expandedRowClassName,\n      expandIcon: mergedExpandIcon,\n      expandableType: expandableType,\n      expandRowByClick: expandableConfig.expandRowByClick,\n      expandedRowRender: expandableConfig.expandedRowRender,\n      onTriggerExpand: onTriggerExpand,\n      expandIconColumnIndex: expandableConfig.expandIconColumnIndex,\n      indentSize: expandableConfig.indentSize,\n      allColumnsFixedLeft: flattenColumns.every(function (col) {\n        return col.fixed === 'left';\n      }),\n      emptyNode: emptyNode,\n      // Column\n      columns: columns,\n      flattenColumns: flattenColumns,\n      onColumnResize: onColumnResize,\n      // Row\n      hoverStartRow: startRow,\n      hoverEndRow: endRow,\n      onHover: onHover,\n      rowExpandable: expandableConfig.rowExpandable,\n      onRow: onRow,\n      getRowKey: getRowKey,\n      expandedKeys: mergedExpandedKeys,\n      childrenColumnName: mergedChildrenColumnName\n    };\n  }, [\n  // Scroll\n  mergedScrollX,\n  // Table\n  prefixCls, getComponent, scrollbarSize, direction, fixedInfoList, isSticky, supportSticky, componentWidth, fixHeader, fixColumn, horizonScroll,\n  // Body\n  mergedTableLayout, rowClassName, expandableConfig.expandedRowClassName, mergedExpandIcon, expandableType, expandableConfig.expandRowByClick, expandableConfig.expandedRowRender, onTriggerExpand, expandableConfig.expandIconColumnIndex, expandableConfig.indentSize, emptyNode,\n  // Column\n  columns, flattenColumns, onColumnResize,\n  // Row\n  startRow, endRow, onHover, expandableConfig.rowExpandable, onRow, getRowKey, mergedExpandedKeys, mergedChildrenColumnName]);\n  return /*#__PURE__*/React.createElement(TableContext.Provider, {\n    value: TableContextValue\n  }, fullTable);\n}\nexport function genTable(shouldTriggerRender) {\n  return makeImmutable(Table, shouldTriggerRender);\n}\nvar ImmutableTable = genTable();\nImmutableTable.EXPAND_COLUMN = EXPAND_COLUMN;\nImmutableTable.INTERNAL_HOOKS = INTERNAL_HOOKS;\nImmutableTable.Column = Column;\nImmutableTable.ColumnGroup = ColumnGroup;\nImmutableTable.Summary = FooterComponents;\nexport default ImmutableTable;"],"mappings":"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"},"metadata":{},"sourceType":"module","externalDependencies":[]}